日期:2014-05-17  浏览次数:21004 次

关于 asp 连接字符串和select in 的问题

先从产品表(chanpin)找出相应的 产品id
然后从出货记录表(chuhuo) 找出相应的出货记录,代码如下


chanpinname="特级红双草绳"
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from chanpin where chanpinname like '%"&chanpinname&"%' ",conn2,1,1
do while not rs.eof

chanpinid=chanpinid+rs("_identify") '这行代码写法不正确,该如何写?



rs.movenext
loop
rs.close
set rs=nothing


rs.open "select * from chuhuo where chanpinid in ('"&chanpinid&"') order by chuhuodate desc,addtime desc",conn2,1,1



具体该如何写呢?


------解决方案--------------------
chanpinid in ('"&chanpinid&"') "
你可以想象出最终这串字符串长什么样子,比如应该是chanpinid in ('A2','B3','C12','D15') "

既然是这样,那么你的 chanpinid=chanpinid+rs("_identify") 就好写了

chanpinid=""
do while not rs.eof
chanpinid=chanpinid & "'" & rs("_identify") & "',"
rs.movenext
chanpinid=left(chanpinid,length(chanpinid)-1) '去掉最后的一个逗号