【发布时间】:2013-05-05 07:48:00
【问题描述】:
我从以下代码中遗漏了什么?在这个代码片段中,我正在从 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;
【问题讨论】:
标签: c# sqlite visual-studio-2012 dataset dataadapter