SqlDataAdapter不会删除记录

时间:2015-07-22 15:48:22

标签: c# sql

我使用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它不会从数据库中删除任何内容......

我怎么能找到问题?

1 个答案:

答案 0 :(得分:1)

调用Rows.Remove()等效于调用Rows.Delete()+ AcceptChanges()。 由于AcceptChanges,Update()不做任何修改。

然后替换:

DataSetMain.Tables["tbl_error"].Rows.Remove(dr);

通过

dr.Delete()