Y
yeli
Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADOquery1控件要对一个表的数据进行更新,该表的数据来源于另一个表。
举例如下:
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select ckdtj.编号,ckdtj.名称,ckdtj.总耗量,(qingdan.单价)单价,(qingdan.单价*ckdtj.总耗量)合计,(qingdan.数量)库存数量 from qingdan,ckdtj where ckdtj.编号=qingdan.编码');
query1.open;
query1.first;
while query1.recordcount>0 do
begin
query2.Close;
query2.SQL.clear;
query2.SQL.add('update ckdtj set 库存数量=:库存数量,缺货数量=:缺货数量,合计=:合计 where 编号=:编号');
query2.parameters.ParamByName('编号').value := query1.fieldbyname('编号').asstring;
query2.Parameters.ParamByName('库存数量').Value := query1.FieldValues['库存数量'];
iF query1.FieldValues['总耗量']-query1.FieldValues['库存数量']>0
then query2.Parameters.ParamByName('缺货数量').Value :=query1.FieldValues['总耗量']-query1.FieldValues['库存数量']
else query2.Parameters.ParamByName('缺货数量').Value :=null;
query2.Parameters.ParamByName('合计').Value := query1.FieldValues['合计'];
query2.ExecSQL;
query1.next;
end;
结果提示错误。我用了很多方法都无法解决,请高手指点。
举例如下:
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select ckdtj.编号,ckdtj.名称,ckdtj.总耗量,(qingdan.单价)单价,(qingdan.单价*ckdtj.总耗量)合计,(qingdan.数量)库存数量 from qingdan,ckdtj where ckdtj.编号=qingdan.编码');
query1.open;
query1.first;
while query1.recordcount>0 do
begin
query2.Close;
query2.SQL.clear;
query2.SQL.add('update ckdtj set 库存数量=:库存数量,缺货数量=:缺货数量,合计=:合计 where 编号=:编号');
query2.parameters.ParamByName('编号').value := query1.fieldbyname('编号').asstring;
query2.Parameters.ParamByName('库存数量').Value := query1.FieldValues['库存数量'];
iF query1.FieldValues['总耗量']-query1.FieldValues['库存数量']>0
then query2.Parameters.ParamByName('缺货数量').Value :=query1.FieldValues['总耗量']-query1.FieldValues['库存数量']
else query2.Parameters.ParamByName('缺货数量').Value :=null;
query2.Parameters.ParamByName('合计').Value := query1.FieldValues['合计'];
query2.ExecSQL;
query1.next;
end;
结果提示错误。我用了很多方法都无法解决,请高手指点。