通过DataSet更新数据库的失败的问题,高分100
通过DataSet更新数据库,
我的原理是这样的, 一个用户控件(里面放了和数据库表对应的绑定列,)
一个DataGridView,两个同时共用一个数据集ds,
正常情况操作下修改,删除是没问题的,
但按如下步骤就会出错;
1.先修改一条记录中的某个值没空(修改前该字段值不为空),不是NULL,
2.点击保存数据,保存成功,
3.再点击删除该记录,错误就发生了.说影响了1条记录的0行
------解决方案--------------------没看明白
------解决方案--------------------路过~~
------解决方案--------------------贴代码吧
------解决方案--------------------没看明白
------解决方案--------------------关注,UP
------解决方案--------------------看懂了 但没想通哪里会出问题,关注...
------解决方案--------------------你去看看自动生成的DeleteCommand就知道了
我一般都是自己加一个delete的查询到table adapter
------解决方案--------------------做一下清空..
------解决方案--------------------看不懂
------解决方案--------------------3.再点击删除该记录,错误就发生了.说影响了1条记录的0行
====================================================
1,启动SQlprofilter追踪SQL指令的执行情况
2,BtnDElete_Click()
{
messagebox.show(dataset的当前行的某个字段的值,看看是否为null)
}
== 建议用SQL指令操作
sqlcommand deletecmd=new sqlcommand(deletestr,cnn)
cnn.open()
------解决方案--------------------保存在DataSet中,删除是在数据库表中执行,冲突了
------解决方案--------------------你删除的时候丢失了焦点吧
------解决方案--------------------3.再点击删除该记录,错误就发生了.说影响了1条记录的0行
答:
1,启动SQlprofilter追踪SQL指令的执行情况
2,BtnDElete_Click()
{
messagebox.show(dataset的当前行的某个字段的值,看看是否为null)
}
== 建议用SQL指令操作
sqlcommand deletecmd=new sqlcommand(deletestr,cnn)
cnn.open()
或者可能是:
保存在DataSet中,删除是在数据库表中执行,冲突了
------解决方案--------------------直接用sql写把,这样保险点,还能随时在sqlserver里查