三层结构服务器方法定义问题,,(20分)

  • 主题发起人 主题发起人 AK-47
  • 开始时间 开始时间
A

AK-47

Unregistered / Unconfirmed
GUEST, unregistred user!
有如下问题:
1。我在XXX.TLB页定义方法时(function)在返回类型里找不到OleVariant*,是不是不能返回这种类型,
它默认是HRESULT这句类型有什么用?
2。哪位大哥能给一个中间层返回数据包的函数例子,如:function GETXXXX(uid:widestring):Olevariant;
3.我想在客户端用clientdataset.commandtext一次返回全部记录(1500条),但是它总是一次返回500多条(clientdataset是默认设置)
 
我定义了一个方法
function Tsvr_lhz.Get_BDZ_Info(const SDM: WideString):OleVariant;
begin
ADOQuery1.Close;
ADOQuery1.Parameters.ParamByName('SDM').Value:=SDM;
ADOQuery1.Open;
if ADOQuery1.RecordCount<>0 then
begin
// DataSetProvider1.DataSet:=ADOQuery1.DataSource.DataSet
result:=DataSetProvider1.Data;
end
else
result:=null;
end;
//客户端调用。。
CDS_XL.Data:=frm_login.SocketConnection1.AppServer.Get_BDZ_Info('102');
CDS_XL.Open;
//出错:
Method"Get_BDZ_Info("not support by automation object
请帮帮忙是什么原因,应该怎么改
 
怎么没人回答啊。。。。
 
用Variant*
 
1.自己把"*"加上就可以了
2.与你的设计方法有关,实在是太多可说的了,说不完
3.不要一次返回大量的数据,应该少量多次,建议看看李维的书
 
但是我要的是一次返回全部数据,我测试了一下,发现clientdataset在默认情况下(packrecords=-1,FetchonDemand=true
为什么为这样??
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部