我使用DataSet
来存储数据,使用SqlDataAdapter
来处理数据库。
首先在DataBase中更改记录我在数据集中编辑行(插入,编辑,删除)DataTable ..
然后
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它不会从数据库中删除任何内容......
我怎么能找到问题?
答案 0 :(得分:1)
调用Rows.Remove()等效于调用Rows.Delete()+ AcceptChanges()。 由于AcceptChanges,Update()不做任何修改。
然后替换:
DataSetMain.Tables["tbl_error"].Rows.Remove(dr);
通过
dr.Delete()