ClientDataSet.CommandText := 'select * from table'就可以了
而且远程模块上,query也要使用一个datasetprovider控件与之湘帘

解决方案 »

  1.   

    请上分,
      客户端:
       ClientDataSet 的 BeforGetRecords 事件中,为 OwnerData 赋值 OleVarinat 类型;
      服务端:
       对应的 DataSetProvider 的 BeforGetRecords 事件中 得到 OwnerData 的值
       将此值赋给 query.sql.text 即可
      

  2.   

    将远程数据模块上的Query的DataSetProvider.options中 poallowcommandtext 设为 True
      

  3.   

    设 远程数据模块中的query的option中的poallowcommandtext=true;表示允许远程数据模块中的query的查询语句由客户端传送。
    clientdataset1.close;
    clientdataset1.commandtext:='select * from table where params=something';
    clientdataset1.open;
     
      

  4.   

    设 远程数据模块中的query的option中的poallowcommandtext=true;表示允许远程数据模块中的query的查询语句由客户端传送。
    clientdataset1.close;
    clientdataset1.commandtext:='select * from table where params=something';
    clientdataset1.open;可能可以吧,但是请问要用clientdataset1来动态的赋一个变量string时,怎么做呢?
      

  5.   

    客户程序中的固定取值如上面各位兄弟所说;
    客户程序中要动态取值的话:
    DataModule1.ClientDataSetJM.commandtext:=format('select py from table where name=''%s''',[stringtemp]);
    在服务程序中的设置:
    DataSetProvider控件的OnDataReQuest事件中
            adoquery1.Close;
            adoquery1.SQL.clear;
            adoquery1.SQL.Add(input);
            adoquery1.Open;
    并要设置DataSetProvider控件的Opertion属性中的poAllowCommandText设为true;