三层数据更新问题(李维:ado/com+/mts第九章的例子)!(150分)

  • 主题发起人 主题发起人 dark_eagle
  • 开始时间 开始时间
D

dark_eagle

Unregistered / Unconfirmed
GUEST, unregistred user!
该例子中用协调对象调用数据对象的方法更新数据。
客户端:
ucoor:=comtsupdateobj.createremote(computername);
ucoor.updatepublishers(cdspublishers.delta,0,ierrorcount);
协调对象:
用dcomconnection连接数据对象,建立一个方法updatepublishers:
procedure tmtsupdateobj.updatepublishers(vdatas:olevariant;imaxerror:integer;var ierrorcount:integer);
begin
try
datamodule2.dcomcpublishers.appserver.updatedatas(vdatas,imaxerror,ierrorcount);/
setcomplete;
except
on e:exceptiondo

begin
showmessage(e.message);
setabort;
end;
end;

数据对象:
adoconnection+adoquery+datasetprovider ,数据库为sql7.0 的pubs,adoquery连接publishers数据表。
建一个updatedatas方法:
procedure tmtspublishersobj.updatedatas(vdatas:olevariant;imaxerror:integer;var ierrorcount:integer);
begin
try
dspublishers.applyupdate(vdatas,imaxerror,ierrorcount);
setcomplete;
except
on e:exceptiondo

begin
showmessage(e.message);
setabort;
end;
end;

协调对象没问题,在数据对象捕获的异常显示 invalid data packet(无效的数据封包)。
这个问题该如何解决? 谢谢!




 
各位帮帮忙呀!
 
有没有修改ComObj,Provider程序单元,是用Delphi6还是Delphi5?
 
comobj,provider程序单元已经修改了,用的是delphi6.
问题继续!
 
该例子我做过,没问题。
注意:
1.在DELPHI6中不需要修改comobj,provider程序单元。
2.看以下程序中CONNECT部件是否连接,ADOQUERY部件是否打开。
 
哪位有《ado/com+/mts》后面几章的电子版?资料下载里只有前四章。
 
给Delphi打上补丁就可以了!我也遇上过这样的问题,打上补丁就好了!两个补丁文件
 
接受答案了.
 
后退
顶部