李维错了─midas问题??(50分)

  • 主题发起人 主题发起人 xxy1898
  • 开始时间 开始时间
X

xxy1898

Unregistered / Unconfirmed
GUEST, unregistred user!
我照着李维《分布式多层应用系统篇》第二章中的DynamicSQLDemo例子(全部在单机上测试):
服务器:adoconnection1+adoquery1(不写sql语句)+DataSetProvider1(poAllowCommandText设为true)
客户端:DCOMConnection1+ClientDataSet1
想在客户端动态执行sql语句
with ClientDataSet1do
begin
close;
CommandText:=mysql //最基本的sql语句
open;
end;
不管我是在win98还是在win2000下运行客户端程序,都会出现如下错误提示:bof或eof有一个为真,或者当前记录已被删除,所须操作要求一个当前记录。
我开始以为是ado的bug,连忙打了delphi5的三个升级包,重新编译后执行,错误却仍然存在!!!
走投无路的我只好把服务器程序换为Database1+Query1,同样连上sql7中的pubs,程序居然可以
成功运行了!!
请问大家到底是哪里出了错,ado的bug,还是程序有问题???
 
你连的是什么数据库?sqlserver?可能是你的表没有建主键。
 
'走投无路的我只好把服务器程序换为Database1+Query1,同样连上sql7中的pubs,
程序居然可以成功运行了'
连的数据库是sql servr7.0自带的pubs,主键是有的1!!
 
肯定是ado的问题,如果ado版本高于2.1 ,最好先安装ado。
并且对于sqlserver,建议ado2.5以上;
顺序 win2000server
ado2.6 delphi5 delphisp1 adosp1 adosp2好象调换顺序就有问题
delphi6没事的,另外adoquery好象有问题,adodataset好些
 
李唯错了
不信
可能你错了
 
李维没错,可能是你的ADO有问题!
 
打补丁吧!到Borland的网站下载ADO的最新补丁
 
谢谢各位的回答!
经过我的反复测试,得出以下结果:
win98+d5(打了补丁的)+sql7.0(桌面版)运行以上程序就没有问题;
win2000+d5(打了补丁的)+sql 2000(服务器版)还是出错,
请问是不是d5不支持sql2000????
to ls2000:我如何知道自己机器上装的ado是x.x???
 
多半是ADO的問題!
 
ado一个非常著名的bug而已。
 
这是开发软件与控件结合的问题?说了等于没说
 
多人接受答案了。
 
好象是adoconnetion.ver还是adoconetion.version,反正在ide环境中你会知道的。
sqlserver2000为2.5, ado2.6+delphi5+delphisp1+adosp1+adosp2没问题
 
后退
顶部