说明:客户端写SQL,发送服务端执行返回结果集。
设置属性:
1,TNewService的AllowExecuteSQL=True;
2,TDARemoteDataAdapter.GetDataCall.MethodName := SQLGetData;
GetDataCall.OutgoingIncludeSchemaParameter := aIncludeSchema;
GetDataCall.OutgoingMaxRecordsParameter := aMaxRecords;
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必须有单表的数据集。
网友评论