关于在三层中的查询小问题(30分)

  • 主题发起人 主题发起人 fly555
  • 开始时间 开始时间
F

fly555

Unregistered / Unconfirmed
GUEST, unregistred user!
在客户端 clientdataset 指向一个服务器端的datasetprovider->一个adoquery
那么是不是在客户端每一个需要查询的地方都要设一个clientdataset,
同时在服务器端要设对应的datasetprovider以及adoquery
这样好象太多的clientdataset,datasetprovider了吧。
但是在二层中,很好办,只要把adoquery中的sql属性变一下即可。
在三层中,在客户端却无法变更服务器上的adoquery中的sql属性呀。
不知我说的对不对?
 
三层中同样可以动态设定SQL查询,首先,在应用服务器中设定:
DataSetProvider1.Options的poAllowCommandText为true
然后在客户端:
ClientDataSet1.Active:=false;
ClientDataSet1.CommandText :='select * from tabName';
ClientDataSet1.Active :=true;
 
loxtln 的方法在用簡單的sql語名可以, 但通用的還需自已寫接口函數.
 
也可以自己写个方法把sql传到中间层,中间层用adoquery查询,有时
clientdataset11.commandtext不好用。
 
两种方法:
1、在服务器上设置DataSetProvider1.Options的poAllowCommandText为true
2、在服务器上加一个公共数据集提供,将adoquery中的sql为空,再由DataSetProvider1
  指向它。
 
多人接受答案了。
 
后退
顶部