循环拼接sql语句条件
有这样一个数组string[]pno,里面有数据pno[0]pno[1]pno[2]需要一个sql语句"select*frompnowherepnoin("+pno[0]...
有这样一个数组 string[] pno,里面有数据 pno[0] pno[1] pno[2]
需要一个sql 语句 "select * from pno where pno in ("+pno[0]+ ","+pno[1]+","+pno[2]+")";
当然数据长度不会定死了3个,我这是举得一个例子,数组长度是不固定的,所以说要用循环去拼接,怎么写这个循环呢?
谢谢大家乐,自己解决了, .NET里面有封装好的方法 string strwhere = string.join(",",pno) 直接输出的就是类似 "pno[0],pno[1],pno[2]....."这样的语句 ,还是多谢谢大家,1楼答案能看明白,所以不好意思我就选1楼了的啊 展开
需要一个sql 语句 "select * from pno where pno in ("+pno[0]+ ","+pno[1]+","+pno[2]+")";
当然数据长度不会定死了3个,我这是举得一个例子,数组长度是不固定的,所以说要用循环去拼接,怎么写这个循环呢?
谢谢大家乐,自己解决了, .NET里面有封装好的方法 string strwhere = string.join(",",pno) 直接输出的就是类似 "pno[0],pno[1],pno[2]....."这样的语句 ,还是多谢谢大家,1楼答案能看明白,所以不好意思我就选1楼了的啊 展开
展开全部
不大了解.Net语法, 写一个VB的给你吧, 类似这样
s = "select * from pno "
s1 = ""
for i = 0 to ubound(pno)
s1 = s1 + pno(i) + ","
next i
if s1<>"" then 如果S1="", where 语句就不需要了, 否则会报错的
s1 = Left(s1, len(s1)-1) 去掉最后一个逗号
s = s + "where pno in ("+ s1 + ")"
end if
s = "select * from pno "
s1 = ""
for i = 0 to ubound(pno)
s1 = s1 + pno(i) + ","
next i
if s1<>"" then 如果S1="", where 语句就不需要了, 否则会报错的
s1 = Left(s1, len(s1)-1) 去掉最后一个逗号
s = s + "where pno in ("+ s1 + ")"
end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 8 from where pno in (+
for (int i<0;i<5;i++)
string aaa+="(pno[i]+',)";
+pno[5]")"
大概如此,你自己在环境上改改
for (int i<0;i<5;i++)
string aaa+="(pno[i]+',)";
+pno[5]")"
大概如此,你自己在环境上改改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是java的吗 ?
追问
不是哦。。.NET的呢
追答
String []ss = " " ;
for (int i = 0 ; i < pno.length ; i++){
ss+= pno[i] +" , ";
}
ss=ss.subString(0,ss.length-1);
String finalSql = "select * from pno where pno in (+ss+)";
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询