我正在尝试使用 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();
Thanks
Remove myTable.AcceptChanges()
更新之前。否则将设置所有行RowState http://msdn.microsoft.com/en-us/library/system.data.datarowstate%28v=vs.110%29.aspx to Unchanged
,因此 DataAdapter 将不知道某些内容已更改。
adapter.Update(myTable)
将会通知AcceptChanges
更新完成后自行。
So...
myTable.Rows[0]["Name"] = "Was Tom";
//myTable.AcceptChanges();
adapter.Update(myTable);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)