OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\"C:\\Users\\User\\Desktop\\New Microsoft Access Database.accdb\"");
OleDbDataAdapter DataAdapter = new OleDbDataAdapter("SELECT *from pinakas", connection);
DataTable pinakas_Table = new DataTable();
DataAdapter.Fill(pinakas_Table);
MessageBox.Show(pinakas_Table.Rows[1]["Name"].ToString());
好的,这一行显示我的第一行字段的名称“George” “名称”。
pinakas_Table.Rows[1]["Name"] = "John";
现在这一行将字段“Name”设置为值“John”
pinakas_Table.AcceptChanges();
DataAdapter.Fill(pinakas_Table);
MessageBox.Show(pinakas_Table.Rows[1]["Name"].ToString());
好了,现在我的应用程序显示名称“John”!这意味着DataTable“pinakas_Table”得到了改变。
DataAdapter.Update(pinakas_Table);
但它从未保存到我的Access数据库。
答案 0 :(得分:0)
Updating Data Sources with DataAdapters州......
在
AcceptChanges
,DataSet
或DataTable
上拨打DataRow
会导致Original
的所有DataRow
值被覆盖Current
的{{1}}值。如果已修改将行标识为唯一的字段值,则在调用DataRow
后,AcceptChanges
值将不再与数据源中的值匹配。在调用Original
的{{1}}方法期间,每行自动调用AcceptChanges
。
通过调用Update
,您的修改行将被视为其数据与数据库保持不变,因此DataAdapter
将看不到该行所需的任何操作。别打电话给AcceptChanges()
。 <{3}}成功后会为您致电pinakas_Table.AcceptChanges();
。