在服务程序端的RemoteDataModule上有两个 name 为qryMaster,qrymx 的TADOQuery控件,一个name为PublicDataSetProvider1的TDataSetProvider控件,TADOQuery控件已经与通过TADOConnection控件与数据相联, 现在服务端有一段程序如下:
procedure TBSDRPServer.GetData(const strQry: WideString;
strQryDetail: OleVariant);
var
i: Integer;
strMx:string;
begin
qryMx.Close;
qryMx.DataSource := nil;
qryMx.Fields.Clear;
qryMx.SQL.Clear;
PublicDataSetProvider1.DataSet:= nil;
qryMaster.Close;
qryMaster.SQL.Clear;
qryMaster.Fields.Clear;
with qryMaster do
begin
Close;
SQL.Text := trim(strQry);
end;
strMx:=VarToStr(strQryDetail[i]);
with qryMx do
begin
Close;
SQL.Text := strMx;
DataSource:=dsMain;
end;
PublicDataSetProvider1.DataSet := qryMaster;
end;现客户端有一name 为dxMain,dxMx 的TClientDataSet控件,dxMain的ProviderName
属性设为PublicDataSetProvider1,dxMain中有一TDataSetField字段,
dxMx的DataSetField 属性指向该字段,
现在客户端通过调用服务端的GetData的函数,参数为SQL语句,例如,
'SELECT GROUP1.GPDM,GROUP1.GPMC FROM GROUP1 ORDER BY GROUP1.GPDM ASC',
SELECT GPGG1.GPDM,GPGG1.GGDM FROM GPGG1 WHERE GPGG1.GPDM=:GPDM',
在客户端打开单据正常,但如果下次打开的单据调用的参数有变化时,如
'SELECT PEIMA.PMDM,PEIMA.PMMC,PEIMA.PMXZ,PEIMA.TZSY,PEIMA.BZ,PEIMA.SL FROM PEIMA ORDER BY PEIMA.PMDM ASC',
'SELECT PEIMAMX.PMDM,PEIMAMX.GG2DM,PEIMAMX.SL FROM PEIMAMX WHERE PEIMAMX.PMDM=:PMDM'
此时程序会报qryMaster :Field 'GPDM'not found.我传的参数中根本没有GPDM呀,请教高手!
procedure TBSDRPServer.GetData(const strQry: WideString;
strQryDetail: OleVariant);
var
i: Integer;
strMx:string;
begin
qryMx.Close;
qryMx.DataSource := nil;
qryMx.Fields.Clear;
qryMx.SQL.Clear;
PublicDataSetProvider1.DataSet:= nil;
qryMaster.Close;
qryMaster.SQL.Clear;
qryMaster.Fields.Clear;
with qryMaster do
begin
Close;
SQL.Text := trim(strQry);
end;
strMx:=VarToStr(strQryDetail[i]);
with qryMx do
begin
Close;
SQL.Text := strMx;
DataSource:=dsMain;
end;
PublicDataSetProvider1.DataSet := qryMaster;
end;现客户端有一name 为dxMain,dxMx 的TClientDataSet控件,dxMain的ProviderName
属性设为PublicDataSetProvider1,dxMain中有一TDataSetField字段,
dxMx的DataSetField 属性指向该字段,
现在客户端通过调用服务端的GetData的函数,参数为SQL语句,例如,
'SELECT GROUP1.GPDM,GROUP1.GPMC FROM GROUP1 ORDER BY GROUP1.GPDM ASC',
SELECT GPGG1.GPDM,GPGG1.GGDM FROM GPGG1 WHERE GPGG1.GPDM=:GPDM',
在客户端打开单据正常,但如果下次打开的单据调用的参数有变化时,如
'SELECT PEIMA.PMDM,PEIMA.PMMC,PEIMA.PMXZ,PEIMA.TZSY,PEIMA.BZ,PEIMA.SL FROM PEIMA ORDER BY PEIMA.PMDM ASC',
'SELECT PEIMAMX.PMDM,PEIMAMX.GG2DM,PEIMAMX.SL FROM PEIMAMX WHERE PEIMAMX.PMDM=:PMDM'
此时程序会报qryMaster :Field 'GPDM'not found.我传的参数中根本没有GPDM呀,请教高手!
解决方案 »
- 2009的DataSetProvider1.ApplyUpdates一定要在事务中?
- delphi实现与单片机通信
- 谁能推荐一本学OPENGL+DELPHI入门的好书啊?
- 怎样让打印机只打印一页?各位大哥帮忙!!!
- 怎样给文件加密?
- delphi与c++builder!
- 在线提问,请帮助!
- 清贴过年,特来散分
- 编译的时候提示:could not create output file 'd:\program files\borland\delphi6\porjects\bpl\dclusr60.bpl'
- 再现等待
- 知道局域网某机器名,如何得到它的ip,有这样的api吗
- 怎样得到本地打印机\网络打印机的打印消息?(N多分相送)
我现在就是更新的时候报XX字段无效,NND,重新拉一下Provider就没问题了!
居郁闷!