DataAdapter を使用して Access データベース (.accdb) に書き戻す際に問題が発生しています。
現在、DataSet テーブルにデータを入力する Fill メソッドがあります。このコードは現在 Form_Load() 内にあります。
// TODO: This line of code loads data into the 'hCAliasDataSet.Topics' table. You can move, or remove it, as needed.
this.topicsTableAdapter.Fill(this.hCAliasDataSet.Topics);
次に、cmdAdd_Click() イベントがあります。これは明らかに、hCAliasDataSet 内にある Topcis テーブルに新しい行を追加するためのものです。
// Create a new row, append it to Topics table.
DataRow DR;
DR = this.hCAliasDataSet.Tables["Topics"].NewRow();
this.hCAliasDataSet.Tables["Topics"].Rows.Add(DR);
次に、列の値の1 つの入力をキャプチャするコードを作成しました。
// Capture user input
sTopicName = Interaction.InputBox("Please Enter Topic Name", "Topic Name", null, 100, 100);
// Set the Topic value for the new Row
DR["Topic"] = sTopicName;
私の問題は、dataAdapter を呼び出してトピック テーブルを更新する場所にあると思います。データベースを手動で確認しましたが、新しい行が作成されていませんか?
// Commit the changes back to the hCAlias DataBase (hcalias.accdb).
this.topicsTableAdapter.Update(this.hCAliasDataSet.Topics);
編集: TableAdapter の INSERT クエリを作成する必要があると思いますが、これは正しいでしょうか?