这个例子比较简单,就传递一个表名
在客户端的ClientDataSet的BeforeGetRecords事件中向中间层传递参数
如:
procedure Form1.ClientDatasetOnBeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
begin
OwnerData := 'mytable';
end;
在中间层数据模块的DatasetProvider的BeforeGetRecords事件中,获取客户端传递的参数构造SQL语句
procedure TDataService.DataSetProviderBeforeGetRecords(
Sender: TObject;
var OwnerData: OleVariant);
begin
myquery.close;
myquery.sql.text = 'select * from '+OwnerData;
myquery.open;
end;