从WPF数据网格中的数据集更新数据库

时间:2016-12-09 18:51:09

标签: c# wpf datagrid

我已经阅读了所有类似的线程,我认为我复制了样本,但代码仍无法正常工作

绑定网格:

Spring Boot (v1.4.2.RELEASE)
Hibernate Core {5.0.11.Final}

保存数据(为简单起见,双击此处,可以点击按钮)

sql="select * from myTable";
ds = new System.Data.DataSet();
OleDbDataAdapter adp = new OleDbDataAdapter(sql,dbConnection._connection);   
adp.Fill(ds);
ds.AcceptChanges();
grdTable.ItemsSource = ds.Tables[0].DefaultView;

数据显示正常,但update语句出错: "当传递带有修改行的DataRow集合时,更新需要有效的UpdateCommand。"

我看到的所有示例都不需要创建UpdateCommand。

1 个答案:

答案 0 :(得分:0)

您需要使用OleDbCommandBuilder自动为您生成命令:https://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommandbuilder(v=vs.110).aspx

sql = "select * from myTable";
ds = new System.Data.DataSet();
OleDbDataAdapter adp = new OleDbDataAdapter();
adp.SelectCommand = new OleDbCommand(sql, dbConnection._connection);
OleDbCommandBuilder cb = new OleDbCommandBuilder(adp);
adp.Fill(ds);
ds.AcceptChanges();
grdTable.ItemsSource = ds.Tables[0].DefaultView;

有关详细信息,请参阅上述MSDN链接。