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
展开
 我来答
百度网友66a8d48e5
2012-05-04 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3878万
展开全部
正如一楼所说,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

不过给个建议是这些处理不如直接放在一个存储过程中!
一不小心,里边多一个'时就会出错的!
老刀正能量
2012-04-29 · TA获得超过2011个赞
知道大有可为答主
回答量:1487
采纳率:0%
帮助的人:1532万
展开全部
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的话,要加上单引号!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科技程序迷
2012-04-24 · TA获得超过2822个赞
知道大有可为答主
回答量:2240
采纳率:0%
帮助的人:1837万
展开全部
in关键字说明后面应该是一个结果集吧。
不太明白这样的用法。
用Like关键字试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式