with AdoQuery2 do
begin
AdoQuery2.Close;
AdoQuery2.SQL.Clear;
AdoQuery2.SQL.Add('select * from 库存表kcb where kc_spid=:A');
AdoQuery2.Parameters.ParamByName('A').Value:=Edit5.Text;
AdoQuery2.Open;
b:=AdoQuery2.RecordCount=0;
if b then
begin
AdoQuery2.Close;
AdoQuery2.SQL.Clear;
AdoQuery2.SQL.Add('update 库存表kcb set kc_rksl=kc_rksl+:a,kc_tjrq=:b,kc_kcts=kc_kcts+:c where kc_spid=:B');
AdoQuery2.Parameters.ParamByName('B').Value:=Edit5.Text;
AdoQuery2.Parameters.ParamByName('a').Value:=Trim(Edit9.Text);
AdoQuery2.Parameters.ParamByName('b').Value:=Trim(Edit10.Text);
AdoQuery2.Parameters.ParamByName('c').Value:=Trim(Edit9.Text);
AdoQuery2.ExecSQL;
end;
end;
问题出在无法更新表中的数据,当把where 语句去了以后就把整个表的所有内容更新了,请教高手!!!!!!!!!
begin
AdoQuery2.Close;
AdoQuery2.SQL.Clear;
AdoQuery2.SQL.Add('select * from 库存表kcb where kc_spid=:A');
AdoQuery2.Parameters.ParamByName('A').Value:=Edit5.Text;
AdoQuery2.Open;
b:=AdoQuery2.RecordCount=0;
if b then
begin
AdoQuery2.Close;
AdoQuery2.SQL.Clear;
AdoQuery2.SQL.Add('update 库存表kcb set kc_rksl=kc_rksl+:a,kc_tjrq=:b,kc_kcts=kc_kcts+:c where kc_spid=:B');
AdoQuery2.Parameters.ParamByName('B').Value:=Edit5.Text;
AdoQuery2.Parameters.ParamByName('a').Value:=Trim(Edit9.Text);
AdoQuery2.Parameters.ParamByName('b').Value:=Trim(Edit10.Text);
AdoQuery2.Parameters.ParamByName('c').Value:=Trim(Edit9.Text);
AdoQuery2.ExecSQL;
end;
end;
问题出在无法更新表中的数据,当把where 语句去了以后就把整个表的所有内容更新了,请教高手!!!!!!!!!
AdoQuery2.Parameters.ParamByName('A').Value:=Edit5.Text;
这两句的位子调换,把AdoQuery2.Parameters.句放在AdoQuery2.SQL.Add前面
还有就是你的Edit5.text中库中有没有对应的值?
b:=AdoQuery2.RecordCount=0;
if b then
begin
***********************
这个条件请楼主说明!!!
把:b和:B中的一个改名就可以了。
if b then
begin
=====================================if IsEmpty then
begin
简单问题..
Delphi不区分大小写滴..
你的'B'和'b' 在Delphi看来就是同一变量...