首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

生手:Delphi7 update语句中where使用数值变量的格式

2012-10-12 
新手:Delphi7 update语句中where使用数值变量的格式var fbz,fid2:stringFID:Integerbeginfbz:Trim(EDBZ

新手: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()来处理字符串的

热点排行