Dynamic SQL

说明:客户端写SQL,发送服务端执行返回结果集。
设置属性:
1,TNewService的AllowExecuteSQL=True;
2,TDARemoteDataAdapter.GetDataCall.MethodName := SQLGetData;
GetDataCall.OutgoingIncludeSchemaParameter := aIncludeSchema;
GetDataCall.OutgoingMaxRecordsParameter := aMaxRecords;

Dynamic SQL_第1张图片
aa.png

3,TDAMemDataTable的LogicalName = DynamicDataset;
MasterMappingMode = mmDataRequest;
4,具体发送代码

      procedure TClientForm.Button1Click(Sender: TObject);
begin
  with DAMemDataTable1 do
  begin
    Close;
    //查询SQL
    ClientDataModule.RemoteDataAdapter.GetDataCall.ParamByName('aSQLText').AsString := Memo1.Text;
    //记录数
    MaxRecords := StrToIntDef(Edit1.Text,2);
    ClientDataModule.RemoteDataAdapter.Fill([DAMemDataTable1],True,True);
  end;
end;
1,如果动态sql是多表连接,则所有表,在schema必须有数据集。
2,单表或多表动态查询,服务端schema必须有单表的数据集。

你可能感兴趣的:(Dynamic SQL)