この記事によると: http://msdn.microsoft.com/en-us/library/xzb1zw3x.aspx、データセットにデータを挿入/変更した後、UPDATE を呼び出してデータベース データをデータセット データと同期する必要があります。 .
私の問題はこれです:
dataset1.xsd というデータセットを作成してから、新しい TableAdapter を作成して INSERT クエリを実行します。その後、データセットの内容が変更されたことをデータベースに知らせる必要があります。
DataSet1TableAdapters.reservationsTableAdapter ta = new DataSet1TableAdapters.reservationsTableAdapter();
ta.Insert(LastName,Arrival,Departure); // this is where I do the INSERT query
ここで、データセットを更新する必要がありますよね? どうすればいいですか?上に投稿した記事では、次のようなことを提案しています。
ta.Update(DataSet1.reservationsDataTAble);
ただし、次の理由でこれを行うことはできません。
エラー - 「myproject.DataSet1.reservationsDataTable」は「タイプ」であり、指定されたコンテキストでは無効です。
新しい Dataset1 DataTable を宣言してから更新しようとしましたが、それでもデータベースに変更は表示されません。
ただし、変更が DataSet に保存されることはわかっています。後で新しいデータテーブルを埋めるときに、レコードがそこにあるからです。
編集:以下のコメントのおかげで、変更のためにこれを試しました:
DataSet1.reservationsDataTable NDT = new DataSet1.reservationsDataTable();
DataSet1TableAdapters.reservationsTableAdapter ta = new DataSet1TableAdapters.reservationsTableAdapter();
ta.Insert(LastName,Arrival,Departure);
ta.Fill(NDT);
ta.Update(NDT);
...そして、(デバッガーで)NDTデータテーブルDIDに実際に「INSERTED」されてからデータテーブルに入力されたデータが含まれていることがわかりました。
ただし、ta.Update(NDT);
それでもデータベースは更新されませんでした...