定义个全局变量。
sSQl :String;ssql := 'SELECT * FROM wdwdwd';在调用的地方,定义一个局部变量,SqlText;SqlText := ssql + ' WHERE .....'QUery.Sql.Text := SqlText;
sSQl :String;ssql := 'SELECT * FROM wdwdwd';在调用的地方,定义一个局部变量,SqlText;SqlText := ssql + ' WHERE .....'QUery.Sql.Text := SqlText;
sSql:='select * from table where %S order by %s';
Query.sql.text:=Format(sSql,['f1=1 and f2=2','f3'])
看看Tstrings是如何操作的 ,即可满足你的要求
然后把后面的内容替代!
StrTemp: WideString;
iRet: Integer;
begin
try
StrTemp:='select a.*,b.* from a,b where 1=1'
if meDate.Text<>'' then StrTemp:=StrTemp+' and a.ID='+''''+meDate.Text+'''';
if ...... Query1.Sql.Add(StrTemp);
Query1.Open;
end;
Parameter,随便找本书都有讲。