2 つのテーブルを持つデータベースがあります。StudentID は「StudentList」テーブルの主キーであり、StudentID は「JournalEntries」テーブルの外部キーです。
私のウェブサイトには検索機能があり、ユーザーは StudentList から学生を検索でき、結果はデータグリッドに表示されます。ユーザーがリストから学生を選択すると、日誌エントリ ボックスがポップアップ表示されます。日誌エントリ ポップアップ ボックスに入力して [送信] ボタンをクリックすると、データグリッドから選択された学生 ID に関連付けられた JournalEntries テーブルに日誌エントリを入力する必要があります。
protected void SearchGrid_SelectedIndexChanged(object sender, EventArgs e)
{
FNameLabel.Text = SearchGrid.SelectedRow.Cells[1].Text;
LNameLabel.Text = SearchGrid.SelectedRow.Cells[2].Text;
string constr = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Sites\Network2\nrsh\App_Data\myDB.mdb";
string cmdstr = "SELECT StudentID FROM StudentList WHERE = SearchGrid.SelectedRow.Cells[3].Text AND INSERT into JournalEntries (Topic, SubTopic, Summary, Date, Notes) values (@Topic, @SubTopic, @Summary, @Date, @Notes)";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand com = new OleDbCommand(cmdstr, con);
con.Open();
//The following fields are added from the journal entry form to the corresponding database fields
com.Parameters.AddWithValue("@Topic", ddlTopic.Text);
com.Parameters.AddWithValue("@SubTopic", txtSubTopic.Text);
com.Parameters.AddWithValue("@Date", txtDate.Text);
com.Parameters.AddWithValue("@Summary", txtSummary.Text);
com.Parameters.AddWithValue("@Notes", txtNotes.Text);
com.ExecuteNonQuery();
con.Close();
}
これがロジックに関する私の考えですが、SQL についてあまり知らないので、おそらく完全に間違っています。どんな助けでも素晴らしいでしょう。