社区
C#
帖子详情
违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条。
winingsky
2011-05-03 04:19:34
更新Access中的某一字段,第一次更新出现该异常,重新打开程序,第二次更新则可以更新成功。
...全文
196
9
打赏
收藏
违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条。
更新Access中的某一字段,第一次更新出现该异常,重新打开程序,第二次更新则可以更新成功。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
anly20011
2012-02-06
打赏
举报
回复
同样子的问题!
qldsrx
2011-05-04
打赏
举报
回复
说白了就是主键的问题,可惜楼主偏偏不信,主键是不能修改的,主键必须和更新语句中的WHERE条件一致。
比如,当执行一条UPDATE语句的时候,普通执行会返回影响的函数,如果WHERE不匹配,则返回影响0行,不会报错,但是如果是执行DataAdapter的批量更新,一旦出现影响0行的情况,就会报错,因为它认为不可能会有0行影响(另外如果影响了2行也会报错),因此你更新时必须用主键,或者是唯一键,且该键值不能修改,否则会出现影响0行的情况。
CGabriel
2011-05-03
打赏
举报
回复
[Quote=引用 6 楼 winingsky 的回复:]
引用 5 楼 cgabriel 的回复:
虚读, Update 的时候无法找到原来的记录,无法进行更新。
你看一下那个动态生成的命令就知道是什么回事了
update的时候无法找到原来的记录,无法进行更新
这句话是什么意思?
[/Quote]
例如,其中一个值, 你读出来的时候是 A, 然后在客户端修改成 B, 准备提交回数据库。
而就在这个时候,另外一个程序把 A 改成了 C。
如果这个时候把 B 提交回数据库,就会出现这个问题。
winingsky
2011-05-03
打赏
举报
回复
[Quote=引用 5 楼 cgabriel 的回复:]
虚读, Update 的时候无法找到原来的记录,无法进行更新。
你看一下那个动态生成的命令就知道是什么回事了
[/Quote]
update的时候无法找到原来的记录,无法进行更新
这句话是什么意思?
CGabriel
2011-05-03
打赏
举报
回复
虚读, Update 的时候无法找到原来的记录,无法进行更新。
你看一下那个动态生成的命令就知道是什么回事了
winingsky
2011-05-03
打赏
举报
回复
[Quote=引用 2 楼 vrhero 的回复:]
可能是并发冲突...Access不是适合多用户的数据库...
[/Quote]
我现在没有用动态生成SQL批量更新,换成在循环里写更新语句,更新成功了,我想问下动态生成更新语句和自己写更新语句有什么区别啊,我感觉当数据量大时,前面一种方法速度稍微快一点,但不会快很多
winingsky
2011-05-03
打赏
举报
回复
[Quote=引用 1 楼 qldsrx 的回复:]
你可能忘了在程序中设置主键了
[/Quote]
有主键
vrhero
2011-05-03
打赏
举报
回复
可能是并发冲突...Access不是适合多用户的数据库...
qldsrx
2011-05-03
打赏
举报
回复
你可能忘了在程序中设置主键了
违反
并发
性
:
Update
Command
影响
了
预期
1
条
记录
中
的 0
条
一个bug搞了半天! 现象 在用MySqlDataAdapter.
Update
(ds)整体更新GridView时,出现可以插入,但不能更新的问题。 报错:
违反
并发
性
:
Update
Command
影响
了
预期
1
条
记录
中
的 0
条
。 原因分析 百度了很多,发现问题出在数据库结构上,表格
中
有自动增长的ID列作为主键,在插入行时,数据库
中
自动更新了ID,但绑定的dataset
中
没有自动更新这个功能,该行...
违反
并发
性
:
Update
Command
影响
了
预期
1
条
记录
中
的0
条
问题出现 当执行添加添加保存时正确;执行修改修改保存正确;但执行添加修改后报“
违反
并发
性
:
Update
Command
影响
了
预期
1
条
记录
中
的0
条
”, 问题产生的原因是数据库里数据修改了,但内存的数据未修改,导致数据库内存的数据不一致。 解决: 在
Update
后添加 代码 Ds.AcceptChanges() Ds是内存
中
刚开始我们从数据库
中
获取来的DataSet ...
违反
并发
性
:
Update
Command
影响
了
预期
1
条
记录
中
的0
条
_
做了个dev gridview批量更新的程序,第一次更新正常,第二次更新报错
违反
并发
性
:
Update
Command
影响
了
预期
1
条
记录
中
的0
条
,试了好多次发现是gridControl1转化的Datatable的状态问题导致,第一次更新时Datatable状态为Modified,第二次更新时仍为 Modified,对转化的Datatable 增加dtShow.AcceptChanges()语...
(
违反
并发
性
:
Update
Command
影响
了
预期
1
条
记录
中
的 0
条
)的原因
Update
Command
和Delete
Command
出现DBConcurrencyException异常。调试提示:
违反
并发
性
: Delete
Command
影响
了
预期
1
条
记录
中
的 0
条
;或
违反
并发
性
:
Update
Command
影响
了
预期
1
条
记录
中
的 0
条
。 这里的
违反
并发
性
:不是指多人编辑引起的
并发
。
关于“
违反
并发
性
:
Update
Command
影响
了
预期
1
条
记录
中
的 0
条
”的数据库更新错误
今天在使用vs2010+Oracle11g+win7 64位
中
作数据库的批量更新时,出现了:
违反
并发
性
:
Update
Command
影响
了
预期
1
条
记录
中
的 0
条
这样的错误,感觉很纳闷,因此所用的批量更新的程序我以前多次使用,不过使用的环境为vs2005+Oracle9.2i+xp/win2003下面,下面是以前所用的批量更新的代码: public static int Bu
C#
110,571
社区成员
642,565
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章