
sql 中where in的错误解决方法
是这样的,我用复选框,用request接收后,用while循环,可以正确使用wherein的sql语句但是,处理页面将此记录如12,124,741,35保存进数据库中的文...
是这样的,我用复选框,用request接收后,用while循环,可以正确使用where in的sql语句
但是,处理页面将此记录如12,124,741,35保存进数据库中的文本型字段后,再读去出,然后用where in的sql语句时,就发现无论如何都得不到正确的结果,这是为什么
我晓得呀,我就是这样写的.所以接收request都是正常的使用where in语句.而从数据库取出象1,2,3,4这样的 值放进来,就不行.具体代码:
<%
'注意,在此我已确定rs("all_id")的值是"1,2,3,4,5,6"啦,该字段是备注型,pi表中的id字段是自动编号
Set rs2=conn.Execute("Select * From pi where id in ("&rs("all_id")&")")
if not rs2.bof and not rs2.eof then
do while not rs2.eof
%>
<tr>
<td height="20" align="center" bgcolor="#FFFFFF"><%=rs2("a0")%></td>
<td height="20" align="center" bgcolor="#FFFFFF"><%=rs2("a1")%></td>
<td height="20" align="center" bgcolor="#FFFFFF"><%=rs2("a2")%></td>
<td height="20" align="center" bgcolor="#FFFFFF"><%=rs2("a3")%></td>
<td height="20" align="center" bgcolor="#FFFFFF"><%=rs2("a4")%></td>
</tr>
<%
loop
end if
rs2.close
set rs2=nothing
%>
这段代码应该显示出一系列的数据的 ,事实上,数据库中确信有符合此条件的n条记录,而显示时,则一条记录也不显示. 展开
但是,处理页面将此记录如12,124,741,35保存进数据库中的文本型字段后,再读去出,然后用where in的sql语句时,就发现无论如何都得不到正确的结果,这是为什么
我晓得呀,我就是这样写的.所以接收request都是正常的使用where in语句.而从数据库取出象1,2,3,4这样的 值放进来,就不行.具体代码:
<%
'注意,在此我已确定rs("all_id")的值是"1,2,3,4,5,6"啦,该字段是备注型,pi表中的id字段是自动编号
Set rs2=conn.Execute("Select * From pi where id in ("&rs("all_id")&")")
if not rs2.bof and not rs2.eof then
do while not rs2.eof
%>
<tr>
<td height="20" align="center" bgcolor="#FFFFFF"><%=rs2("a0")%></td>
<td height="20" align="center" bgcolor="#FFFFFF"><%=rs2("a1")%></td>
<td height="20" align="center" bgcolor="#FFFFFF"><%=rs2("a2")%></td>
<td height="20" align="center" bgcolor="#FFFFFF"><%=rs2("a3")%></td>
<td height="20" align="center" bgcolor="#FFFFFF"><%=rs2("a4")%></td>
</tr>
<%
loop
end if
rs2.close
set rs2=nothing
%>
这段代码应该显示出一系列的数据的 ,事实上,数据库中确信有符合此条件的n条记录,而显示时,则一条记录也不显示. 展开
2个回答
展开全部
楼主,你的代码有错误啊.循环指针不向下移动能读出数据吗?
<%
'这里少了
rs2.movenext
loop
end if
rs2.close
set rs2=nothing
%>
<%
'这里少了
rs2.movenext
loop
end if
rs2.close
set rs2=nothing
%>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询