1

我正在尝试向我的数据表添加一个新行。

运行此代码时我没有错误,但我的表中没有发生任何事情。

这是我的代码:

        string table = "`DONNEE ENTRANT`";
        OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * From " + table, _conn);
        OleDbCommandBuilder cmdBuilder = new OleDbCommandBuilder(adapter);


        DataTable dataTable = new DataTable(table);
        adapter.Fill(dataTable);
        DataRow row = dataTable.NewRow();

        row["CODE LIAISON"] = "TEST";

        dataTable.Rows.Add(row);
        dataTable.AcceptChanges();

        adapter.Update(dataTable);

知道我做错了什么(通过这种方式,我知道我们可以使用 oleDb 运行命令,但真的不喜欢这种方式......)。

谢谢

4

2 回答 2

1

根据您正在做的事情,您似乎希望该新行最终出现在数据库中。所以删除这一行:

dataTable.AcceptChanges();

因为这改变了RowStatetoUnchanged并且你需要它留在Added. 此外,您需要确保您adapterInsertStatement定义,以便它可以使用它。

于 2013-06-10T13:16:34.817 回答
0

我会使用 [] 而不是 `` 但我相信@Michael Perrenoud 已经给出了纠正您问题的答案

于 2013-06-10T13:27:10.763 回答