Web Service 的问题_1(50分)

  • 主题发起人 主题发起人 糊涂小生
  • 开始时间 开始时间

糊涂小生

Unregistered / Unconfirmed
GUEST, unregistred user!
用D6(enterrise+update pack 1)编写了一个web service,目的是想通过客户端
输入部门代码,在数据库中查询出相应的人员,在返回给客户端!在Srever端我
编写了一个过程,如下:
procedure TLRS_DataModule.GetDataFromBM(BMDM:string);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select a.*,b.* from userid.LR_All_Join a,LR_Photo b where ');
Query1.SQL.Add('a.gh=b.gh and a.bmdm='+''''+BMDM+''''+' order by a.gh');
Query1.Open;
end;
在客户端使用HTTPRIO控件调用上述方法,传递BMDM(部门代码)参数,然后通过
TSoapConnection和TClientDataSet获取返回的数据,程序段是如下写的:
procedure TForm1.Button1Click(Sender: TObject);
var
LRS:ILRS_DataModule;
begin
ClientDataSet1.Active:=False;
LRS:=(HTTPRIO1 As ILRS_DataModule);
LRS.GetDataFromBM(Edit1.Text);
ClientDataSet1.Active:=True;
end;
可现在的现象是,(我用WebAppDebug调试,当然,Server端是WebApp方式的),当我
运行Client程序时,界面显示调用了几次Server App,然后就报错:
ClientDataSet1: Missing data provider or data packet.
然后我将Server端的TQuery控件的SQL属性写进静态的SQL语句,固定查询某一部门的
职员,客户端就会显示数据,可是任你在客户端再怎么改变输入部门代码进行查询,
结果依然不变!
请哪位高手帮忙解决!
注:Server端用了Soap Server Data Module,加控件TQuery,TDataSetProvider和
TDatabase,客户端用了HTTPRIO,SoapConnection,ClientDataSet和DataSource、
DBGrid
 
你试试在服务器端用数组的方式返回SQL结果,不要用DataSet自己的封装。
 
你检查一下参数是否正确送到服务器端
procedure TLRS_DataModule.GetDataFromBM(BMDM:string);
begin
showmessage(BMBM);
end;
 
想必问题早解决了吧?
 

Similar threads

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