如何产生SQL语句? ( 积分: 100 )

  • 主题发起人 主题发起人 wqhatnet
  • 开始时间 开始时间
W

wqhatnet

Unregistered / Unconfirmed
GUEST, unregistred user!
query1.SQL.Clear;
query1.SQL.add('select * from abc.db where 批号=''080302'' or 批号=''080303'' ');
Query1.open;
我想将其中的
批号=''080302'' or 批号=''080303''
用MEMO中的内容替换掉
怎么写FOR 循环?
 
'select * from abc.db where 批号='''+memo1.text+''' '
是不是这样?
 
select * from abc.db where 批号 = '080302' or 批号 = '080303'
 
query1.SQL.Clear;
query1.SQL.add('select * from abc.db where 批号=quotedstr(memo1.text) or 批号=quotedstr(memo1.text) ' );
Query1.open;
 
'select * from abc.db where ' + memo1.Text
 
是不是你的Memo每行是一个批号,要查询Memo中列出的批号
那样的话,就是构造一个where子句的问题
 
ICC
你真聪明
我是这个意思啊
问题是怎么构造啊
教教小弟
 
var
SqlStr : string;
i : integer;
begin
Query1.Close;
query1.SQL.Clear;
SqlStr := ' select * from abc.db where 1=1 ';
if Memo1.Lines.Count > 0 then
begin
SqlStr := SqlStr+' and ( 批号=quotesstr(Memo1.Lines.string[0]) '
for i := 1 to Memo1.Lines.Count -1 do
begin
SqlStr := SqlStr + ' or 批号 = quotestr(Memo1.Lines.String) ';
end;
SqlStr := SqlStr + ')';
Query1.Sql.Add(SqlStr);
end;
Query1.open;
end;
 
李先生的代码
为什么会有
"Capability Not Supported "
的错误信息
 
select * from abc.db where 1=1 and ( 批号=quotesstr(Memo1.Lines.strin2g[0]) or 批号 = quotestr(Memo1.Lines.String) or 批号 = quotestr(Memo1.Lines.String) )

showmessage(sqlstr)
得到上面的结果[:(]
 
var
SqlStr : string;
i : integer;
begin
Query1.Close;
query1.SQL.Clear;
SqlStr := ' select * from abc.db where 1=1 ';
if Memo1.Lines.Count > 0 then
begin
SqlStr := SqlStr+' and ( 批号='''+Memo1.Lines.string[0]+'''';
for i := 1 to Memo1.Lines.Count -1 do
begin
SqlStr := SqlStr + ' or 批号 = '''+Memo1.Lines.String+'''';
end;
SqlStr := SqlStr + ')';
Query1.Sql.Add(SqlStr);
end;
Query1.open;
end;
 
var
SqlStr : string;
i : integer;
begin
Aform1.Query1.Close;
aform1.Query1.SQL.Clear;
SqlStr := ' select * from abc.db where 1=1 ';
if Memo1.Lines.Count > 0 then
begin
SqlStr := SqlStr+' and ( 批号='''+Memo1.Lines.strings[0]+'''';
for i := 1 to Memo1.Lines.Count -1 do
begin
SqlStr := SqlStr + ' or 批号 = '''+Memo1.Lines.Strings+'''';
end;
SqlStr := SqlStr + ')';
Aform1.Query1.Sql.Add(SqlStr);
edit1.Text:=SqlStr;
end;
Aform1.Query1.open;
end;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
964
import
I
I
回复
0
查看
621
import
I
后退
顶部