我使用 DataSet
来存储数据,使用 SqlDataAdapter
来处理数据库。
对于数据库中的更改记录,我首先编辑数据集中的行(插入、编辑、删除)数据表..
然后
DataRow dr = DataSetMain.Tables["tbl_error"].Select("error_name='" + error.Name + "'")[0];
DataSetMain.Tables["tbl_error"].Rows.Remove(dr);
SqlDataAdapter adp = new SqlDataAdapter("SELECT * FROM tbl_error", SVariable._DataBaseConnectionString);
SqlCommandBuilder bui = new SqlCommandBuilder(adp);
adp.Update(DataSetName,tbl_error);
对于插入或编辑记录,一切都像魅力 ... 但对于删除它不起作用..
我确信 tbl_error 中的行已成功删除,但 adp.Update 不会从数据库中删除任何内容...
如何找到问题?
最佳答案
调用 Rows.Remove() 相当于调用 Rows.Delete() + AcceptChanges()。 由于 AcceptChanges,Update() 不做任何修改。
然后替换:
DataSetMain.Tables["tbl_error"].Rows.Remove(dr);
由
dr.Delete()
关于c# - SqlDataAdapter 不删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31568011/