1

我制作了一个简单的控制台应用程序来清理我的数据库表中的数据(空格等)

应用程序用从 DATABASE 中选择的 TABLE 填充 DATATABLE 并对其进行处理,然后我只保存数据表更改( dataTable.AcceptChanges() )下面(来自 MSDN):

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

    DA.Update(DT)

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

4

1 回答 1

1

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

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

于 2013-03-28T18:19:48.843 回答