例子:1:SQl.text:='Select * from table where column='''+Adoquery1.filedbyname('column').Asstring+''' and column1='''+Adoquery1.filedbyname('column1').Asstring+''''; 2: 或者用format都可以
教大家一个简单的函数,如果参数值是字符串,用QUOTEDSTR()函数套一下 SQL.txt:='Select * from table where column= '+ QUOTEDSTR(Adoquery1.filedbyname( 'column ').Asstring) + ' and column1= ' + QUOTEDSTR(Adoquery1.filedbyname( 'column1 ').Asstring); 这样是不是看起来简单,又不会出错,即使参数值中有单引号也不出错
支持用QuotedStr()函數,我一直都是這麼用的! 例: var strSQL:string; begin strSQL:=' select * from table where field= '+QuotedStr(edit1.text); end; 也可固定的字符串啊: strSQL:=' select * from table where field= '+QuotedStr('example');
你可以这样,用sql.add 比如 query.close; query.sql.clear; quert.sql.add('select * from aaaa '); query.sql.add(' where aaa=aaaa'); query.open;
呵呵,原来还有QuotedStr()函數,省去了那一大串的引号.
最好这样使用: with qry do begin close; sql.clear; sql.add(Format('select * from abc wher a=%d,b=%s', [ id, QuotedStr(Name) ])); execsql; end;
2: 或者用format都可以
SQL.txt:='Select * from table where column= '+ QUOTEDSTR(Adoquery1.filedbyname( 'column ').Asstring) + ' and column1= ' + QUOTEDSTR(Adoquery1.filedbyname( 'column1 ').Asstring);
这样是不是看起来简单,又不会出错,即使参数值中有单引号也不出错
例:
var
strSQL:string;
begin
strSQL:=' select * from table where field= '+QuotedStr(edit1.text);
end;
也可固定的字符串啊:
strSQL:=' select * from table where field= '+QuotedStr('example');
比如
query.close;
query.sql.clear;
quert.sql.add('select * from aaaa ');
query.sql.add(' where aaa=aaaa');
query.open;
with qry do
begin
close;
sql.clear;
sql.add(Format('select * from abc wher a=%d,b=%s',
[
id,
QuotedStr(Name)
]));
execsql;
end;