ASP中SQL查询条件如何与数组结合起来?

是这样的我有一个字段b(值类似:“1,2,3,4,5,6,7,8,9”)我想用字段b中的数字作为查询条件查询,select*fromxwhereidin(b)这样老是不行... 是这样的我有一个字段b(值类似:“1,2,3,4,5,6,7,8,9”)
我想用字段b中的数字作为查询条件查询,
select * from x where id in(b)
这样老是不行 用数组a把字段b用“,”分开
select * from x where id in(a)
也不行
不知道哪位高手能指点下吗?

b的值当只有一个数据时是没有逗号的,两个数据时有一个逗号,依次类推。
展开
 我来答
du瓶邪
推荐于2016-11-06 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2792万
展开全部

方法如下:

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;
uchuangyi
推荐于2016-02-19 · TA获得超过164个赞
知道答主
回答量:57
采纳率:50%
帮助的人:32万
展开全部
你可以这样写!

a="1,2,3,4,5,6,7,8,9"

select * from x where id in ("& a &")

100%可以的,我一直都是这样写的。
你的可以改成
a=rs("b")
和上面是一样的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lqefn
2010-08-04 · TA获得超过2655个赞
知道小有建树答主
回答量:3345
采纳率:0%
帮助的人:1721万
展开全部
你的sql是什么数据库的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友60b941b
2010-08-04 · TA获得超过100个赞
知道小有建树答主
回答量:470
采纳率:0%
帮助的人:300万
展开全部
b 也在同一张表中?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式