谁能解释一下AS_ApplyUpdates函数?

sato 2004-07-01 07:49:48
我在redhat8.0里用WebService开发了数据库服务程序,用DBExpress连远端的PostgreSQL数据库.
在Win下用Delphi7编写客户端,现在用HTTPRIO组件加ClientDataSet能够查询到数据
用的是AS_GetRecords函数.
现想用AS_ApplyUpdates来更新数据回数据库
这是此函数
function AS_ApplyUpdates(const ProviderName: WideString; const Delta: Variant; const MaxErrors: Integer; var OwnerData: Variant; out ErrorCount: Integer): Variant; stdcall;
谁能帮我解释一下此函数中各种参数的意思,以及用法.
最好是实际用过的
我参考的是李维的<< D6&K2 SOAP/WebService程序设计>>
...全文
142 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sato 2004-07-05
  • 打赏
  • 举报
回复
我在服务端找到此函数,确实如楼上所说
但为什么我用WSDL向导自动生成的服务端提供的函数,会自动改变函数中参数的次序?
我把参数的次序改为与服务端的一致后,执行程序时依然会报和原来一样的错
请问这是不是D7和K3在兼容性方面的一个BUG?
halfdream 2004-07-03
  • 打赏
  • 举报
回复
你的最后两个参数弄反了...

IAppServer = interface(IDispatch)
['{1AEFCC20-7A24-11D2-98B0-C69BEB4B5B6D}']

function AS_ApplyUpdates(const ProviderName: WideString; Delta: OleVariant;
MaxErrors: Integer; out ErrorCount: Integer; var OwnerData: OleVariant): OleVariant; safecall;

halfdream 2004-07-02
  • 打赏
  • 举报
回复
一般OwnerData是空值,
它主要用于嵌套数据集更新的时候.
可以不必去管它.

其它参数没有什么需要解释的吧.
youhuiyun 2004-07-02
  • 打赏
  • 举报
回复
学习
sato 2004-07-02
  • 打赏
  • 举报
回复
为什么每次用此函数都会报错!
“Invalid variant type”
我是这样写的,能指出不对的地方吗?为什么更新不了啊?
procedure TForm1.Button2Click(Sender: TObject);
var
aIntf : IAppServer;
vOwnerData : Variant;
ErrorCount : Integer;
vResult : Variant;
begin
aIntf := HTTPRIO1 as IAppServer ;
try
vResult := aIntf.AS_ApplyUpdates('DataSetProvider1', ClientDataSet2.Delta, 0, vOwnerData, ErrorCount) ;
finally
aIntf:=nil;
end;
end;
飞天揽月 2004-07-01
  • 打赏
  • 举报
回复
DET
sato 2004-07-01
  • 打赏
  • 举报
回复
尤其是 var OwnerData: Variant; 参数!

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧