次のコードには何が欠けていますか? このコード フラグメントでは、SQLite データベースからテーブルを読み込んでいます。次に、セルを更新してから、変更を読み戻しています。
このコードは、より大きなコードを簡略化したものですが、問題を示しています。
コードはテーブルを完全に読み取りますが、AcceptChanges() は何も書き戻しません。繰り返し読んで、SQLiteAdminにアクセスしてテーブルを熟読することで、それを確認しました。
「oLocalAdapter.Update(oLocalSet.Tables[0]);」を追加してみました 行、しかし、それは何の違いもありませんでした. 検索してみたらありました。
using System.Data.SQLite;
// DATABASE (Local): Formulate the SQL command.
String strSqlCommand = "SELECT * FROM [tblTest] ORDER BY [IdPrimary] ASC;";
SQLiteCommand oLocalCommand = new SQLiteCommand(strSqlCommand, ClassEngine.Connection);
// DATABASE (Local): Get the data records.
SQLiteDataAdapter oLocalAdapter = new SQLiteDataAdapter(oLocalCommand);
DataSet oLocalSet = new DataSet();
oLocalAdapter.Fill(oLocalSet, "tblTest");
// Try to write to some changes.
String strValue = oLocalSet.Tables[0].Rows[0][8].ToString();
oLocalSet.Tables[0].Rows[0][8] = 9;
oLocalSet.Tables[0].AcceptChanges();
oLocalAdapter.Update(oLocalSet.Tables[0]);
// Clean up.
oLocalSet.Dispose();
oLocalAdapter.Dispose();
oLocalCommand.Dispose();
oLocalCommand = null;