Web Service(30分)

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

糊涂小生

Unregistered / Unconfirmed
GUEST, unregistred user!
请问在D6中,建立Soap Server Application(即Web Service应用)后,
若使用Soap Server Data Module并在其中放入TQuery等TDataSet控件后,
如何使用动态Query语句来使客户端查询更多样?
呵呵,别理解错了,我的意思不是请教如何使用Query语句,而是不知如
何建立Web Service的动态查询,我发现如果在如上所说的Data Module
中放入TTable或TQuery,而TQuery的SQL属性中又有静态查询语句的话,
Web Service能返回结果!
TMD,真是急死我了,不知哪位大哥有这方面的经验,支一两招给我,万
分感谢!
 
可以用客户端的clientdataset里的datarequest传递sql语句给soap data module里的query
 
首先要修改Web Servide数据库服务器的TDataSetProvider组件,设定Options中的poAllowCommand
子属性为True,这样客户端就可以向服务器发送查询了。
TClientDataSet的CommandText属性中可以放置SQL语句,
然后将TClientDataSet的Active设为True就可以取得数据了。
 
同意楼上。这也是我刚刚学到的一招, 来自:smallbs!转贴过来。
服务端:DataSetProvider.DataSet:=query;
设 DataSetProvider1.Options[poAllowCommandText] 为 true
客户端: ClientDataSet.CommandText:='??????';
ClientDataSet.Active:=true;
 
设定Options中的poAllowCommand子属性为True后, 也可使用存储过程或自订函数查询
 
要是soap data module里使用adoquery
执行
clientdataset.close;
clientdataset.commandtext:='select * from......';
{或者clientdataset.datarequest:='select * from.....'}
clientdataset.open;
弹出adoquery:missing sql property的错误信息.但是可以显示数据.
不知是何原因?????


 
后退
顶部