DataRow使用Delete和用Remove方法效果
2012-02-15 21:18
357 查看
事故现场:
ds.Tables[ "Role "].Rows.RemoveAt(1),
OleDbDataAdapter dataAdapter......
dataAdapter.update(ds, "role ");
程序不报错,但是记录集中的值没有更新到数据库.
解决方案:
必须用DataTable的Delete()方法。而不能用Remove()方法。
Delete()是挂起删除方法,他的作用不是删除内容,而是把DataTable中的指定行(DataRow)做一个删除标记,这样,当使用DataAdapter的时候,它才可以知道内存表的内容与数据库的不同,这样才可以删除数据库对应的内容。
而如果使用Remove()或RemoveAt()方法,就是把当前行彻底删除,这样DataAdapter根本就不知道有这么一个要删除的行,当然数据库对应的行不会被删除了。
Remove或RemoveAt方法是在DataTable中完全删除数据,而不是做标记,你肯定更新不了
使用
DataRow.Delete();
ds.Tables["Role"].Rows.RemoveAt(i),为什么数据适配器不能更新,同时不报错
ds.Tables[ "Role "].Rows.RemoveAt(1), OleDbDataAdapter dataAdapter......
dataAdapter.update(ds, "role ");
程序不报错,但是记录集中的值没有更新到数据库.
解决方案:
必须用DataTable的Delete()方法。而不能用Remove()方法。
Delete()是挂起删除方法,他的作用不是删除内容,而是把DataTable中的指定行(DataRow)做一个删除标记,这样,当使用DataAdapter的时候,它才可以知道内存表的内容与数据库的不同,这样才可以删除数据库对应的内容。
而如果使用Remove()或RemoveAt()方法,就是把当前行彻底删除,这样DataAdapter根本就不知道有这么一个要删除的行,当然数据库对应的行不会被删除了。
Remove或RemoveAt方法是在DataTable中完全删除数据,而不是做标记,你肯定更新不了
使用
DataRow.Delete();
相关文章推荐
- DataRow的Delete,Remove,RemoveAt方法的用法和区别。
- DataRow的Delete,Remove,RemoveAt方法的用法和区别。
- malloc/free与new/delete的使用方法与区别
- 使用openSpeDiv方法实现Ecshop登录弹窗框效果
- save()方法添加数据了,可是delete()和Update()方法总是没有效果
- JSTL c标签库remove方法的使用
- IO_REMOVE_LOCK使用方法小结
- c++中new和delete的使用方法
- Android之gallery 常见2种使用方法和3D效果总结
- jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
- 深入了解Python中pop和remove的使用方法
- 使用数组实现人机下五子棋的效果(还没有写判断输赢的方法)
- HTML使用FileReader对象的readAsDataURL()方法实现图片的上传预览效果
- iOS开发使用半透明模糊效果方法整理
- Spring RestTemplate的使用(解决put,delete方法无返回值问题)
- java StringBuffer类型删除最末位字符(使用deleteCharAt方法)
- Datatable删除行的Delete和Remove方法的区别介绍
- iOS开发使用半透明模糊效果方法整理
- 4000 C++使用Mysql的详细步骤及各个常用方法的代码演示:select,insert,update,delete