DBGrid1与ADOQuery2关联,以上dbedit12-17都是与ADOQuery2关联的,即当选择dbgrid1中的某一行时并点删除按钮BitBtn4时,在删除此行记录前先把“类别,名称,规格,品牌,车型,通用车型”所对应的另一个表“配件”中的一些数据更新。问题是当执行这个
sql.Add('update 配件 set 库存量=库存量+'+dbedit20.Text+',出货总数=出货总数-'+dbedit20.Text+',出货总额=出货总额-'+dbedit21.Text+' where '+fil);
总会出现“期待参数是1”的错误提示。
procedure TForm4.BitBtn4Click(Sender: TObject);
var fil:string;
begin
if MessageDlg('删除此条记录?',mtConfirmation,[mbYes,mbNo],0)=mrNo then
exit;
fil:='';
if trim(dbedit12.Text)<>'' then
fil:='类型='+quotedstr(trim(dbedit12.text));
if trim(dbedit13.Text)<>'' then
if fil='' then
fil:='名称='+quotedstr(trim(dbedit13.text))
else
fil:=fil+' and 名称='+quotedstr(trim(dbedit13.text));
if trim(dbedit14.Text)<>'' then
if fil='' then
fil:='规格='+quotedstr(trim(dbedit14.text))
else
fil:=fil+' and 规格='+quotedstr(trim(dbedit14.text));
if trim(dbedit15.Text)<>'' then
if fil='' then
fil:='品牌='+quotedstr(trim(dbedit15.text))
else
fil:=fil+' and 品牌='+quotedstr(trim(dbedit15.text));
if trim(dbedit16.Text)<>'' then
if fil='' then
fil:='车型='+quotedstr(trim(dbedit16.text))
else
fil:=fil+' and 车型='+quotedstr(trim(dbedit16.text));
if trim(dbedit17.Text)<>'' then
if fil='' then
fil:='通用车型='+quotedstr(trim(dbedit17.text))
else
fil:=fil+' and 通用车型='+quotedstr(trim(dbedit17.text));
if fil<>'' then
begin
with adoquery3 do
begin
try
close;
sql.clear;
sql.Add('update 配件 set 库存量=库存量+'+dbedit20.Text+',出货总数=出货总数-'+dbedit20.Text+',出货总额=出货总额-'+dbedit21.Text+' where '+fil);