社区
C#
帖子详情
datagridview 绑定强类型dataset,删除问题
xkx2003
2009-11-25 04:43:54
datagridview 绑定强类型dataset,打开窗口时候,从数据库load数据,显示到datagridview 中,
删除数据,保存,正确;
这时新添加几行数据,保存,正确(在数据库中能看到新添加的数据)
这时候,再删除新添加的数据,就报错
违反并发性: DeleteCommand 影响了预期1 条记录中的0 条;
反复试验了几次,感觉:只要删除不是从数据库load的数据,就出错。
不知道什么原因?
...全文
169
14
打赏
收藏
datagridview 绑定强类型dataset,删除问题
datagridview 绑定强类型dataset,打开窗口时候,从数据库load数据,显示到datagridview 中, 删除数据,保存,正确; 这时新添加几行数据,保存,正确(在数据库中能看到新添加的数据) 这时候,再删除新添加的数据,就报错 违反并发性: DeleteCommand 影响了预期1 条记录中的0 条; 反复试验了几次,感觉:只要删除不是从数据库load的数据,就出错。 不知道什么原因?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lzsh0622
2009-11-26
打赏
举报
回复
问题一定在主键的处理上,新加记录的主键值,要让DataSet和数据库中的主键值始终保持一致和唯一。
liherun
2009-11-26
打赏
举报
回复
关注
jnshijin
2009-11-25
打赏
举报
回复
先在删除datagridview,然后再更新数据库 dataAdapter的update方法.
qldsrx
2009-11-25
打赏
举报
回复
删除一般是根据主键来删除的(除非自己定义删除SQL语句),那么如果你的那个列是自增长列,插入到数据库后必须重新查询填充DataSet,否则该行的主键值和数据库中的不对应,无法进行更新或者删除。
zcl24
2009-11-25
打赏
举报
回复
是否是DataSet删除方法有问题?
xkx2003
2009-11-25
打赏
举报
回复
[Quote=引用 8 楼 rehuo 的回复:]
如果你是sql server 的话,可以从sql server 的事件跟踪器里面看一下删除语句是怎么执行的,应该是你datagridview的设置问题,你可以自己组合一下删除语句,然后试试
[/Quote]
datagridview没有什么特别的设置,就是在DataSource中指定dataset,然后在DataMember中指定了dataset中的datatable
rehuo
2009-11-25
打赏
举报
回复
如果你是sql server 的话,可以从sql server 的事件跟踪器里面看一下删除语句是怎么执行的,应该是你datagridview的设置问题,你可以自己组合一下删除语句,然后试试
xkx2003
2009-11-25
打赏
举报
回复
[Quote=引用 6 楼 surlew 的回复:]
引用 4 楼 xkx2003 的回复:
引用 2 楼 surlew 的回复:
你将你保存过后的数据重新加载到你的dataset里面没有
不想这么操作,数据量大的话,反复读取数据库,会给数据库造成压力
好像用DeleteCommand操作的话就会可能因为你dataset里面没有数据的原因哦
你可以独立做一个删除功能呀,删除直接写sql语句来删除数据库里面的,不用DeleteCommand 来操作
[/Quote]
上千条数据,只能使用dataAdapter的update功能,写sql从数据库里面删不太现实
surlew
2009-11-25
打赏
举报
回复
[Quote=引用 4 楼 xkx2003 的回复:]
引用 2 楼 surlew 的回复:
你将你保存过后的数据重新加载到你的dataset里面没有
不想这么操作,数据量大的话,反复读取数据库,会给数据库造成压力
[/Quote]
好像用DeleteCommand操作的话就会可能因为你dataset里面没有数据的原因哦
你可以独立做一个删除功能呀,删除直接写sql语句来删除数据库里面的,不用DeleteCommand 来操作
xkx2003
2009-11-25
打赏
举报
回复
[Quote=引用 3 楼 rehuo 的回复:]
是不是事务没有提交?应该是datagridview的设置问题,数据库本身不会有这样的问题,还有可能是删除数据的时候,没有办法确定唯一行。就是说删除的时候没有主键
[/Quote]
有主键的,窗口打开,load一些数据到datagridview中,这时候删除,保存,正确。
就对一个表来说,使用不使用事务都一样了。
xkx2003
2009-11-25
打赏
举报
回复
[Quote=引用 2 楼 surlew 的回复:]
你将你保存过后的数据重新加载到你的dataset里面没有
[/Quote]
不想这么操作,数据量大的话,反复读取数据库,会给数据库造成压力
rehuo
2009-11-25
打赏
举报
回复
是不是事务没有提交?应该是datagridview的设置问题,数据库本身不会有这样的问题,还有可能是删除数据的时候,没有办法确定唯一行。就是说删除的时候没有主键
surlew
2009-11-25
打赏
举报
回复
你将你保存过后的数据重新加载到你的dataset里面没有
liherun
2009-11-25
打赏
举报
回复
mark
C# 实战项目——快递单打印软件
2、分割Form窗体 3、
DataGridView
数据表格的使用 4、使用C#操作SQL Server数据库 5、以二进制形式在数据库中存储数据 6、自定义控件的应用 7、C#打印组件的使用 8、控件的动态添加与
删除
C#
110,499
社区成员
642,566
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章