ASP SQL IN 数组中文查询,如何修改SQL语句?
dimaa="中A24307,中AE5526,中AL3242"sql="SELECT*FROMminxiWHERECPHin("&a&")"setrs=server.cr...
dim a
a="中A24307,中AE5526,中AL3242"
sql="SELECT * FROM minxi WHERE CPH in ("&a&")"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,1 展开
a="中A24307,中AE5526,中AL3242"
sql="SELECT * FROM minxi WHERE CPH in ("&a&")"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,1 展开
3个回答
展开全部
正如一楼所说,in后边是结果集不是字符串!所以这使用in的方式不正式!
但是结果集也可以自己直接写出来的,如果在下而后语句是正确的:
select * from table where id in (1,10,20);
而这里恰是ASP组合字符串,只要我们组成这种形式就可以了!
dim a
a ="中A24307,中AE5526,中AL3242"
a = replace(a,",","','") ‘将每个,用','替换
a= "'"&a&"'" '两边再加上',这样组成了'cc','cc','cc'的形式
sql="SELECT * FROM minxi WHERE CPH in ("&a&")"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,1
不过给个建议是这些处理不如直接放在一个存储过程中!
一不小心,里边多一个'时就会出错的!
但是结果集也可以自己直接写出来的,如果在下而后语句是正确的:
select * from table where id in (1,10,20);
而这里恰是ASP组合字符串,只要我们组成这种形式就可以了!
dim a
a ="中A24307,中AE5526,中AL3242"
a = replace(a,",","','") ‘将每个,用','替换
a= "'"&a&"'" '两边再加上',这样组成了'cc','cc','cc'的形式
sql="SELECT * FROM minxi WHERE CPH in ("&a&")"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,1
不过给个建议是这些处理不如直接放在一个存储过程中!
一不小心,里边多一个'时就会出错的!
展开全部
dim a
a="'中A24307','中AE5526','中AL3242'"
sql="SELECT * FROM minxi WHERE CPH in ("&a&")"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,1
如果是字符IN的话,要加上单引号!
a="'中A24307','中AE5526','中AL3242'"
sql="SELECT * FROM minxi WHERE CPH in ("&a&")"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,1
如果是字符IN的话,要加上单引号!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
in关键字说明后面应该是一个结果集吧。
不太明白这样的用法。
用Like关键字试试。
不太明白这样的用法。
用Like关键字试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询