读书人

生手:Delphi7 update语句中where使用

发布时间: 2012-10-12 10:17:04 作者: rapoo

新手:Delphi7 update语句中where使用数值变量的格式
var fbz,fid2:string; FID:Integer;
begin
fbz:=Trim(EDBZ.Text);
fid2:=ADOQuery1.FieldByName('xh1').Asstring ;//xh1是一个自动编号字段
FID:=StrToInt(fid2);
with ADOQuery1 do begin
close;
sql.clear;
sql.add('update yzxx set bz='+fbz+' WHERE xh1=4' );
ExecSQL;
end;
end;
这里xh1=4不会出错,但如果换成
sql.add('UPDATE YZXX SET BZ='''+fbz+''' WHERE xh1='''+FID+'''');

sql.add('UPDATE YZXX SET BZ='''+fbz+''' WHERE xh1='''+fid2+'''');
就会出错,不知怎样在where中使用数值变量,请高手百忙中指点

[解决办法]

Delphi(Pascal) code
var fbz,fid2:string; FID:Integer;begin  fbz:=Trim(EDBZ.Text);  fid2:=ADOQuery1.FieldByName('xh1').Asstring ;  FID:=StrToInt(fid2);  with ADOQuery1 do begin       close;      sql.clear;    sql.Text:='update yzxx set bz = '+fbz+' WHERE xh1 = '+ QuotedStr(FID);    ExecSQL;  end;end;
[解决办法]
我一般情况都是用 QuotedStr()来处理字符串的

读书人网 >.NET

热点推荐