怎样将数组作为sql中in的查询条件?
select*fromtablewhereidin('tmp')**tmp的值来自前台文本输入框,文本框中的数据每次都不一样,个数也不相同,均用“,”分隔开。怎么在数据库...
select * from table where id in('tmp')
** tmp的值来自前台文本输入框,文本框中的数据每次都不一样,个数也不相同,均用“,”分隔开。怎么在数据库查询出这些值所在行的信息 展开
** tmp的值来自前台文本输入框,文本框中的数据每次都不一样,个数也不相同,均用“,”分隔开。怎么在数据库查询出这些值所在行的信息 展开
4个回答
展开全部
/*虽然问题已经提问蛮久了,但是刚好最近自己也遇到这个问题,就把自己的解决方法贴出来吧
这个是用C#写的,原理都是一样的。*/
string kk = "tt,oo,pp"; //假设从文本框获取的值是字符串kk
string[] b = kk.Split(','); //将字符串中的","除去后存入数组里
string endstr = "";
for (int i = 0; i < b.Length; i++) //根据数组的元素个数判断循环次数
{
kk = "'" + b[i] + "'"; //在每个元素前后加上我们想要的格式,效果例如:
// " 'tt' "
if (i < b.Length - 1) //根据数组元素的个数来判断应该加多少个逗号
{
kk += ",";
}
endstr += kk;
}
string sqlstr = "select * from tablename where xxx in(" + endstr + ")";
//最后 select * from tablename where xxx in ('tt','oo','pp')
如果还有更好的办法,也欢迎各位网友能够指教,谢谢!祝各位生活愉快,工作顺利!
展开全部
您好:
您可以试试
select * from table where id in("+传入的变量+")
这是组合SQL语句,只需要考虑最后的SQL内容就可以了。。。
追问
我试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
拼接一下进行了
String[] tmps=tmp.split(",");
String tmp="";
for(int i=0;i>tmps.length;i++){
tmp+="'"+tmp[i]+"'";
if(i<tmp.length-1){
tmp+=",";
}
}
String sql="select * from table where id in("+tmp+")";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String[] tmps = new string[2];
tmps[0] = "1";
tmps[1] = "2";
String tmp = "";
for (int i = 0; i<tmps.Length; i++)
{
tmp += "'" + tmps[i] + "'";
if (i < tmps.Length - 1)
{
tmp += ",";
}
}
//string str ="'1','2',";
string strda = string.Format("select * from tb_jieguo where id in("+ tmp+ ") ");
tmps[0] = "1";
tmps[1] = "2";
String tmp = "";
for (int i = 0; i<tmps.Length; i++)
{
tmp += "'" + tmps[i] + "'";
if (i < tmps.Length - 1)
{
tmp += ",";
}
}
//string str ="'1','2',";
string strda = string.Format("select * from tb_jieguo where id in("+ tmp+ ") ");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询