请教各位高手一个三层的问题(50分)

O

orlen

Unregistered / Unconfirmed
GUEST, unregistred user!
应用服务端用ADO来连数据库服务器,客户端用的是SOCKETCONNECTION连接应用
服务器,可是如果我把客户端的CLIENTDATASET组件的PacketRecords属性设成-1
或者比实际的记录数大的话,运行时就会出错“BOF或EOF中有一个是真,或者当前的记录
已被删除,所需的操作要求一个当前的记录”,这是为什么啊?
 

你不能把PacketRecords属性的值设为比实际表中的记录数更大的值。
因为如果它大于1,表示一定要返回指定数量的记录,如果不存在这个数量的记录,
就会出错。
你的那个错误是说,不存在有你指定数量那么多的记录。
packetrecords默认设置为-1,应该不会有错的。
你先将它的值设为实际的值看看。
或者设为0,可以看到详细的信息。
 
或者给ADO打个补丁,升个级试试。
 
PacketRecords属性缺省值就是-1,应该没有问题的。看看你的其它设置,一般不需修改。
 
其他的设置我都没有动过啊!可是我设为-1还是会有问题
 
几种情况我都试过了:
0 显示出空的表结构,没有什么其他的信息,不会出错
1-记录个数 可以显示出所有的记录,但是当移到最后一笔记录时,再
往下移就会报我前面说的那种错误
-1 在显示画面以前就会报我前面说的那种错误
难道还有其他的什么设置会影响吗?不太可能啊
 
ado经典错误,升级!!!
 
ADO 升级补丁
 
还是ADO补丁的问题,我都回答了n遍了,下载这两个补丁并依次打上:
ftp://ftpc.borland.com/pub/delphi/devsupport/updates/delphi5/D5EntUpdate.exe
ftp://ftpc.inprise.com/pub/delphi/devsupport/updates/adoexpress/d5adoupdate2.exe
序列号:
555-555-5555 9ex0-91x0 或 SKI-HD3-C139 92x0-92x1
 
多人接受答案了。
 
顶部