gpt4 book ai didi

c# - 使用 MySqlDataAdapter 更新不起作用

转载 作者:可可西里 更新时间:2023-11-01 07:03:38 30 4
gpt4 key购买 nike

我正在尝试使用 MySqlDatAdapter 更新 MySql 表。但是,表格永远不会更新!!!我以前做过,但使用的是 SQL Server。我的代码中是否缺少其他特定于 MySql 的内容?

        DataTable myTable = new DataTable("testtable");

MySqlConnection mySqlCon = new MySqlConnection(ConfigurationManager.ConnectionStrings["DBConStr"].ConnectionString);

MySqlCommand mySqlCmd = new MySqlCommand("SELECT * FROM testtable WHERE Name = 'Tom'");
mySqlCmd.Connection = mySqlCon;

MySqlDataAdapter adapter = new MySqlDataAdapter(mySqlCmd);
MySqlCommandBuilder myCB = new MySqlCommandBuilder(adapter);
adapter.UpdateCommand = myCB.GetUpdateCommand();

mySqlCon.Open();

adapter.Fill(myTable);
myTable.Rows[0]["Name"] = "Was Tom";
myTable.AcceptChanges();
adapter.Update(myTable);
mySqlCon.Close();

谢谢

最佳答案

在更新前移除 myTable.AcceptChanges()。否则将设置所有行 RowStateUnchanged,因此 DataAdapter 将不知道某些内容已更改。

adapter.Update(myTable) 将在更新完成后自行调用 AcceptChanges

所以...

myTable.Rows[0]["Name"] = "Was Tom";
//myTable.AcceptChanges();
adapter.Update(myTable);

关于c# - 使用 MySqlDataAdapter 更新不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15259400/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com