日期:2014-05-16  浏览次数:20929 次

两表循环嵌套查询,为何老是出错?
大类表calss
小类表calss2
想根据大类表中的C_id来查询并显示小类表。页面效果如下:

信息系(calss 大类表)
  计算机专业 
  电子专业
经贸第(calss 大类表)
   国际贸易专业
   国内贸易专业  
。。。。。。。。。

<%
'数据库连接
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("./data/hancai.mdb")

set rs=server.createobject("adodb.recordset")
sql="select * from class"    '查询大分类表class
rs.open sql,conn,1,1
do while not rs.eof
Response.write "<font size=2px>"&rs("C_id")&"&nbsp;"&rs("C_name")&"</font><br>"
set rs2=server.createobject("adodb.recordset")
sql2="select * from class2 where C_id="&rs("C_id")&""  '根据大分类表的字段,查询小分类表class2
rs2.open sql2,conn,1,1
do while not rs2.eof
Response.write "<a href='./product/list.asp?C2_id="&rs2("C2_id")&"' target='mainFrame' class='css01'>&nbsp;"&rs2("C2_id")&rs2("C2_name")&"</a><br>"
rs2.movenext
loop
rs2.close
set rs2=nothing

rs.movenext
loop
rs.close
set rs=nothing
%>


这样的数据库连接有错吗?
还是查询语句有错?
具体出错有几种情况,有时是 连接用户过多,有时是未知错误。
小弟在自学中,谢谢详细指出。
------解决方案--------------------
你改成
Set rs = conn.Execute(sql)

Set rs2 = conn.Execute(sql2)

试试