这个问题属于你引号没有打好,应该是: strsql:='select * from zujdj where htnumber='+'''+trim(Flatedit14.text)+' and '+'''+trim(flatedit15.text)+'''+'and'+'''+trim(flatedit16.text)+'''; 这样应该就行了,多试验一下下了
两个问题: If (Trim(Flatedit14.text)<>'') and (Trim(Flatedit15.text)<>'') and (Trim(Flatedit16.text)<>'') then begin strsql:='select * from zujdj where htnumber='''+trim(Flatedit14.text)+''' '+' and .......'; if Query7.Active then Query7.Active:=false; Query7.sql.SetText(pchar(strsql)); query7.active:=true; end;
if ((表达式)AND(表达式))AND (表达式) THEN BEGIN END;SQLSTR:='SELECT * FORM TABLE WHERE AAA='+#39+STRING1+#39+' AND ' +' BBB=' +#39+' STRING2+#39;
这样写不容易出错:If (Trim(Flatedit14.text)<>'') and (Trim(Flatedit15.text)<>'') and (Trim(Flatedit16.text)<>'') then begin strsql:='select * from zujdj where htnumber= :htnumber and ppp = :ppp and ....'; if Query7.Active then Query7.Active:=false; Query7.sql.SetText(pchar(strsql)); Query7.Params[0].AsInteger := 1025; Query7.Params[1].AsString := 'asfsafd'; ..................
strsql:='select * from zujdj where htnumber='+'''+trim(Flatedit14.text)+' and '+'''+trim(flatedit15.text)+'''+'and'+'''+trim(flatedit16.text)+''';
这样应该就行了,多试验一下下了
If (Trim(Flatedit14.text)<>'') and (Trim(Flatedit15.text)<>'') and (Trim(Flatedit16.text)<>'') then
begin
strsql:='select * from zujdj where htnumber='''+trim(Flatedit14.text)+''' '+' and .......';
if Query7.Active then
Query7.Active:=false;
Query7.sql.SetText(pchar(strsql));
query7.active:=true;
end;
BEGIN
END;SQLSTR:='SELECT * FORM TABLE WHERE AAA='+#39+STRING1+#39+' AND '
+' BBB=' +#39+' STRING2+#39;
begin
strsql:='select * from zujdj where htnumber= :htnumber
and ppp = :ppp and ....';
if Query7.Active then
Query7.Active:=false;
Query7.sql.SetText(pchar(strsql));
Query7.Params[0].AsInteger := 1025;
Query7.Params[1].AsString := 'asfsafd';
..................
query7.active:=true;
end;