Mysql DataTable和CommandBuilder

时间:2013-03-28 18:08:35

标签: mysql vb.net ado.net

我已经创建了一个简单的控制台应用程序来清理数据库表中的数据(空白区等)

应用程序使用DATABASE中选定的TABLE填充DATATABLE并处理它,然后我只保存数据表更改(dataTable.AcceptChanges()) 当我尝试使用下面的代码(FROM MSDN)使用DATATABLE中的已编辑数据更新我的数据库时出现问题:

    Dim DA As New MySqlDataAdapter(SQL, connessione)
    Dim CB As New MySqlCommandBuilder(DA)

    DA.Update(DT)

我没有收到任何错误,但数据库没有更新。

1 个答案:

答案 0 :(得分:1)

请勿在数据表上调用AcceptChanges 此方法会将每个DataRow RowState属性从Modified/Added/Deleted更改为Unchanged。 因此,DataAdapter.Update将找不到任何要更新/删除/添加的行

DataTable对象与已从其接收行的基础数据库表断开连接。调用AcceptChanges会将更改提交到IN MEMORY对象而不是数据库 具有Update方法的MySqlDataAdapter知道连接到数据库并应用在DataTable上找到的更改。调用AcceptChanges将阻止此功能