c# - SqlDataAdapter 不删除记录

标签 c# sql

我使用 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/

相关文章:

c# - 在 C# 中使用复选框启用和禁用 TextBox

c# - 如何在 accord.net 中保存“学习状态”?

c# - .net 从父 URI 获取所有目录

python - 编程错误: Unknown column 'nan' in 'field list' while connecting to MySQL with Python

c# - 如何使用空间搜索邮政编码半径?

java - 如何在不构建字符串的情况下使用 JDBC 进行扩展插入?

mysql - SQL 数据库迁移到 Salesforce/另一个 CRM(一次性导入)

php - MySQL 在事务中重置 AUTO_INCREMENT

sql - 具有语法错误的 PostgreSQL 子查询给出了有效结果

c# - 是否可以在 ASP.net 应用程序中嵌入试用限制?