求助memo与query间的查询问题(100分)

  • 主题发起人 主题发起人 jasonzhaoyam
  • 开始时间 开始时间
J

jasonzhaoyam

Unregistered / Unconfirmed
GUEST, unregistred user!
[blue]请各位大虾帮帮小弟!!!!以下的程式代码,以for循环得出的字符串为条件从产品数据库中查出数据,假如我用固定的字符串IDD:='''10'''+','+'''11'''+','+'''13'''代进去只能查出以10、11、13为条件的三条记录,请问如何能用循环得邮的字符串代进去呢?或者用其它的方法也行,只要能查出来。[/blue]
procedure TForm1.Button2Click(Sender: TObject);
var str,aa,bb:string;
i: integer;
begin
str:='';
for i:=0 to Memo1.Lines.Count -1do
begin
str:=''''+str+''''+''''+Memo1.Lines.Strings+''''+',';
end;
i:=i+1;
System.Delete(str,Length(str),2);
//bb:=copy(str,i+1,i+100);
query3.Close;
query3.SQL.Clear;
//IDD:='''10'''+','+'''11'''+','+'''13''' ;
str1:='select * from 产品 where 产品ID in ('+IDD+')';
query3.SQL.Add(str1);
query3.Open;
dbgrid1.datasource:-datasource;

end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
Ffind:String;
I:integer;
begin
for i:=0 to Memo1.Lines.Count -1do
begin
if Ffind = '' then
Ffind := ' (产品ID=' + QuotedStr(Memo1.Lines.Strings) +')'
else
Ffind := Ffind + ' Or ' + ' (产品ID=' + QuotedStr(Memo1.Lines.Strings) +')';
end;
query3.Close;
query3.SQL.Clear;
query3.SQL.Add('select * from 产品 where ' + Ffind);
query3.Open;
end;
 
请问如何能用循环得邮的字符串代进去呢
把需要循环字符串存到stringlist或其他什么的 后循环就好
我过我觉得循环字符串肯定是你根据某个条件生成的
直接动态生成SQL就好了
比如:sql.text:='select * from table where ';
sql.text := sql.text + ' ss =xxx';
sql.text := sql.text + ' and ss= xx';
 
多人接受答案了。
 
后退
顶部