当前位置:编程学习 > VB >>

实时错误2147217864(80040e38),无法为更新定位行。一些值可能已在最后一次读取后已更改

实时错误2147217864(80040e38),无法为更新定位行。一些值可能已在最后一次读取后已更改 .
使用ACCESS数据库,用ADODC1和DATAGRID控件显示,查询修改,然后对他进行操作。
1.运行中出现了实时错误2147217864(80040e38),无法为更新定位行。一些值可能已在最后一次读取后已更改 .
2.有肯能会同时对这张表进行操作,怎么解决 --------------------编程问答-------------------- 绑定方式只允许一个地方更改,要“同时”操作只能是 A 完成更改,B 刷新后再更改。 --------------------编程问答--------------------
'建议不要使用绑定方式来更新记录,用ADO对象连接数据库来更新数据库:
dim conn as new adodb.connection
'连接数据库
conn.open ...   
'新增记录
conn.execute "insert into 表名(字符字段,数值字段) values('"& 字符变量 &"',"& 数值变量 &")"
'更新记录
conn.execute "update 表名 set ... where ..."
'删除记录
conn.execute "delete from 表名 where ..."
--------------------编程问答-------------------- 不用绑定方式,用adodb
在更改程序中先查询确认,再更改,时间短
oracle有锁定功能,access不清楚是否有 --------------------编程问答--------------------
跟绑定没有直接关系。用 ADODC 和 ADODB 对象在引擎操作上没有不同。ADODB 对象编程不当也出这种错误。

你是怎么做的? --------------------编程问答-------------------- 表格没有定义主键,定义了之后暂时没有问题,但是有奇怪的现象就是,明明已经改了一项内容,最后被写成其他的内容 --------------------编程问答-------------------- 后来的更新将覆盖早先的更新,所以 A 完成更改后,B 必须刷新后在 A 的基础上进行更改。 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 1 楼 tiger_zhao 的回复:
绑定方式只允许一个地方更改,要“同时”操作只能是 A 完成更改,B 刷新后再更改。



我的 问题 就是 对同一条数据 A完成更改,B在更改就出错了

问题是B在搜索到后 一下一条下一条的时候 怎么再窗体刷新最新的值呢? --------------------编程问答-------------------- 实时错误2147217864(80040e38),无法为更新定位行。一些值可能已在最后一次读取后已更改 .
使用ACCESS数据库,用ADODC1和DATAGRID控件显示,查询修改,然后对他进行操作。
1.运行中出现了实时错误2147217864(80040e38),无法为更新定位行。一些值可能已在最后一次读取后已更改 .
2.有肯能会同时对这张表进行操作,怎么解决


--答案是:你的表中可能有“布尔型”的字段,当你新添加了一条记录时,布尔字段会被赋于默认值“0”,此时如果你再要在 rs.addnew 后去update 一个布尔字段时,就会提示这个错误。

我的处理方法时,不用布尔字段,直接用text.
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,