如何将变量转变成可用DataSet(30分)

  • 主题发起人 主题发起人 sjw74
  • 开始时间 开始时间
S

sjw74

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在DBGrid中显示MapX中绑定的图层数据,首先声明图层的数据集已经取
出。
程序例子如下:
var ds : variant
ds := MapX.oleobject.Datasets.Add(miDataSetLayer, layer);
临时数据都在 ds 中
问:DBgrid1.DataSource :=??? 或 DBgrid1.DataSet :=???
如何将利用上 ds ???
 
procedure TFrmDMrptr2.QpaymentCalcFields(DataSet: TDataSet);
var
varTickettype:string;
varxj,varzp,varhp,varhk,varcdhp,varzx,vartotal:real;
begin
varxj:=0;
varzp:=0;
varhp:=0;
varzx:=0;
varcdhp:=0;
varhk:=0;
vartotal:=0;
FrmDMrptr2.QpaymDe1.Close;
// and payde1.status='y'
FrmDMrptr2.QpaymDe1.ParamByName('varpayno').value:=FrmDMrptr2.Qpaymentpayno.Text;
FrmDMrptr2.QpaymDe1.Open;
FrmDMrptr2.QpaymDe1.first;
// payde1.ticketno,(SQL中的一项 QpaymDe1)
while not FrmDMrptr2.QpaymDe1.EOF do
begin
varTickettype:=FrmDMrptr2.QpaymDe1.fieldbyname('tickettype').Value;
if varTickettype= '现金' then varxj:=varxj+FrmDMrptr2.QpaymDe1.fieldbyname('ticketamt').Value;
if varTickettype= '转帐支票' then varzp:=varzp+FrmDMrptr2.QpaymDe1.fieldbyname('ticketamt').Value;
if varTickettype= '银行汇票' then varhp:=varhp+FrmDMrptr2.QpaymDe1.fieldbyname('ticketamt').Value;
if varTickettype= '电汇' then varhk:=varhk+FrmDMrptr2.QpaymDe1.fieldbyname('ticketamt').Value;
if varTickettype= '银行承兑汇票' then varcdhp:=varcdhp+FrmDMrptr2.QpaymDe1.fieldbyname('ticketamt').Value;
if varTickettype= '其他' then varzx:=varzx+FrmDMrptr2.QpaymDe1.fieldbyname('ticketamt').Value;
FrmDMrptr2.QpaymDe1.next;
end;
vartotal:=varxj+varzp+varhp+varhk+varcdhp+varzx;
Qpaymentvar_xj.Value:=varxj;
Qpaymentvar_hp.Value:=varhp;
Qpaymentvar_zp.Value:=varzp;
Qpaymentvar_hk.Value:=varhk;
Qpaymentvar_cdhp.Value:=varcdhp;
Qpaymentvar_zx.Value:=varzx;
Qpaymentvar_total.Value:=vartotal;
end;

在Query中加入TstringField,然后在Query的OnCalcFields赋值.
use this Query.
 
接受答案了.
 
后退
顶部