请教高手为什么用adapter的update方法不能更新数据库? 我在dataset里删除一行后,用adapter的update方法去更新数据库,数据库的表没有删除此行为什么?但是我把dataset里一行更改后,用adapter的update方法去更新数据库就可以,不知道为什么.看了MSDN里说adapter的update方法能够根据数据集的更改删除去更新数据库相应的表呀.谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是不是adapter没有DeleteCommand? 查看一下DeleteCommand,是不是為NULL,用煎看式Show 一下你的SqlDataAdapter 出现这个问题有以下几种情况.1.检查你的SqlDataAdapter.DeleteCommand.CommandText的值,删除sql语句是否存在逻辑上的问题。2.通过DataSet删除数据有两种情况(1)间接或直接调用DataRow.Delete()方式,如果行的 RowState 是“Added”,则该行将从表中移除。在使用 Delete 方法后,RowState 变成“Deleted”。在您调用 AcceptChanges 之前,它一直保持“已删除”。可通过调用 RejectChanges 取消删除行。也实际通过SqlDataAdapter.Update来更新是判断行的RowState来决定是删除、添加、修改操作或什么都不做,更新后调用AcceptChanges 来重置RowState或直接删除该DataRow。(2)间接或直接调用DataRowCollection.Remove或DataRowCollection.RemoveAt方式,该方法直接删除DataRow,也就不存在RowState了,所以SqlDataAdapter.Update更新的时候无法发现该行的存在,因此不会做出对数据库数据的修改。 谢谢秋枫,知道原因了,我就是使用的第二种方法remove了一行,所以不能更新数据库.谢谢.结贴.怎么给分呀 C# 附加数据库出错,请求支援 流读取的问题 关于form得打印问题 关于 Form焦点问题 C# DataSet从Xml读取数据并在DataGridView中显示的问题 C#中如何实现打印整个Form表单? 请教:日历控件的使用 C#只中使用ComboBox的问题 关于文件夹监控的问题 数组A和数组B进行比较,比较出在数组B中有,而在数组A没有的元素,放到数组C中。 求一sql语句。 怎样才能打印整个解决方案的前后30页的代码?
1.检查你的SqlDataAdapter.DeleteCommand.CommandText的值,删除sql语句是否存在逻辑上的问题。
2.通过DataSet删除数据有两种情况
(1)间接或直接调用DataRow.Delete()方式,如果行的 RowState 是“Added”,则该行将从表中移除。在使用 Delete 方法后,RowState 变成“Deleted”。在您调用 AcceptChanges 之前,它一直保持“已删除”。可通过调用 RejectChanges 取消删除行。也实际通过SqlDataAdapter.Update来更新是判断行的RowState来决定是删除、添加、修改操作或什么都不做,更新后调用AcceptChanges 来重置RowState或直接删除该DataRow。
(2)间接或直接调用DataRowCollection.Remove或DataRowCollection.RemoveAt方式,该方法直接删除DataRow,也就不存在RowState了,所以SqlDataAdapter.Update更新的时候无法发现该行的存在,因此不会做出对数据库数据的修改。