SQL查询条件如何与数组结合起来?? 有一个数组a 里面包含了11..1009的数.sql.add('select * from ypmenu where id in(这里包含数组a)');请问这样语句应该怎么写.即条件id包含数组a里面的.?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sql里没有数组你可以试试用临时表和表变量来借支 procedure TMainForm.BitBtn3Click(Sender: TObject);var v_SQL_String, v_SQL_Integer, v_ID_String, v_ID_Integer: string; A: array[1..3] of string; B: array[1..3] of integer; i: INTEGER;begin A[1] := '301010'; A[2] := '301012'; A[3] := '300111'; B[1] := 301010; B[2] := 301012; B[3] := 300111; v_ID_String := ''; v_ID_Integer := ''; for i := 1 to 3 do begin v_ID_String := v_ID_String + '''' + A[i] + ''','; // string 数组串联 v_ID_Integer := v_ID_Integer + inttostr(B[i]) + ','; // integer 数组串联 end; v_ID_String := copy(v_ID_String,1,length(v_ID_String)-1); //去掉结尾的逗号 v_ID_Integer := copy(v_ID_Integer,1,length(v_ID_Integer)-1); //去掉结尾的逗号 v_SQL_String := 'select * from ypmenu where id in (' + v_ID_String + ') '; v_SQL_Integer := 'select * from ypmenu where id in (' + v_ID_Integer + ') '; with OraQuery1 do begin close; sql.Clear; sql.Add(v_SQL_String); // string 数组查询 open; end; with OraQuery2 do begin close; sql.Clear; sql.Add(v_SQL_Integer); // integer 数组查询 open; end;end; 我一向通过参数传的,用ADOCommand配合param使用SQL的没用过不过即使用ADOCommand,也不简单 一个文件操作的疑问,关于readLn() 生活不容易,我也来说两句! 用了DELPHI那么长时间,还不知道下面的语句为什么错误。 怎样限定长度读取字符? 高手快来:数据库运行时经常“提示键入信息不足,更新影响更多行“100分给你们! 请教数组 dll 中怎样得到 application 的路径???来者有分!!!! 关于XML文件处理,急!!!高分求解决办法! 一个关于超级链接的问题-----请教各位大虾 运行delphi6后,出现了这个问题 有关indy组件的多函数调用 TCHART 鼠标 滑轮
你可以试试用临时表和表变量来借支
var
v_SQL_String, v_SQL_Integer, v_ID_String, v_ID_Integer: string;
A: array[1..3] of string;
B: array[1..3] of integer;
i: INTEGER;
begin
A[1] := '301010';
A[2] := '301012';
A[3] := '300111';
B[1] := 301010;
B[2] := 301012;
B[3] := 300111;
v_ID_String := '';
v_ID_Integer := '';
for i := 1 to 3 do
begin
v_ID_String := v_ID_String + '''' + A[i] + ''','; // string 数组串联
v_ID_Integer := v_ID_Integer + inttostr(B[i]) + ','; // integer 数组串联
end;
v_ID_String := copy(v_ID_String,1,length(v_ID_String)-1); //去掉结尾的逗号
v_ID_Integer := copy(v_ID_Integer,1,length(v_ID_Integer)-1); //去掉结尾的逗号
v_SQL_String := 'select * from ypmenu where id in (' + v_ID_String + ') ';
v_SQL_Integer := 'select * from ypmenu where id in (' + v_ID_Integer + ') ';
with OraQuery1 do
begin
close;
sql.Clear;
sql.Add(v_SQL_String); // string 数组查询
open;
end; with OraQuery2 do
begin
close;
sql.Clear;
sql.Add(v_SQL_Integer); // integer 数组查询
open;
end;end;
用ADOCommand
配合param使用SQL的没用过不过即使用ADOCommand,也不简单