本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
================

注会练习软件
http://www.cpasoft.com.cn
我的注会软件官网

http://blog.163.com/abc7105@126/

 

 


哈哈,热爱快“过气”的DELPHI


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:注册会计师(注会)练习软件
日志总数:398
评论数量:116
留言数量:27
访问次数:3268256
建立时间:2005年6月6日




[delpih编程]无法为更新定位行。一些值可能已在最后一次读取后已更改。(delphi错误解决)
软件技术

吕向阳 发表于 2009/9/9 13:51:42

无法为更新定位行。一些值可能已在最后一次读取后已更改。 导读:   提示:在使用TADOTable 进行更新操作的时候也会出现类似的问题。   原因:   Access 2000 (9.0.2812)   在access里做了一个测试表   表名test1   字段分别是   myid 文本   myname 文本   sumtotal 货币   remark 文本   在BCB里用ado连接,连接字符串:   Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\data\bbg.mdb;Persist Security Info=False   程序加入一个ADOQuery,写入SQL:select * from test1   测试程序启动我做了以下几个工作:   (1)   ADOQuery1->Open();   (2)   ADOQuery1->Append();   ADOQuery1->FieldByName("myid")->AsString = "001";   ADOQuery1->Post();   (3)   ADOQuery1->Edit();   ADOQuery1->FieldByName("sumtotal")->AsFloat = 12;   ADOQuery1->Post();   在步骤三的post提示错误: 无法为更新行集定位,一些值可能在最后读取后改变.   然后使用fields editor将所有字段添加进来,设置   myname,sumtotal,remark的ProviderFlags的pfInWhere,pfInKey,pfHidden,都是false,只有pfInUpdate为true;myid的pfInKey,pfHidden是false, pfInUpdate,pfInWhere为true,重新执行上面的三步还是同样的错误信息.   ---------------------------------------------------------------   答案一   将 ADOTable1->CursorLocation 的属性改为 clUseServer   答案二   在设计access表的时候,将所有的默认值去掉;   当CursorLocation 的属性是clUseClient时,因为数据库存在默认值,在第一次append的时候,数据库自动修改了部分列,所以客户端无法定位。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/longma2006/archive/2008/09/09/2904413.aspx


阅读全文(1513) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.188 second(s), page refreshed 144766951 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号