ASP读取数据库的嵌套问题
Setrs=sql.r("Select*From"&T_Name&""&WhereStr&""&Ordstr&"")DoWhileNotrs.eofTbody=Tbody...
Set rs = sql.r("Select * From "&T_Name&" "&WhereStr&" "&Ordstr&"")
Do While Not rs.eof
Tbody=Tbody&"<tr>"
Set rs0 = sql.r("Select * From RF_Table_item Where tab="&ID&" And setup=true And islist=true Order By ord Asc")
Do While Not rs0.eof
If Instr(Thead,"<th>"&rs0("title")&"</th>")<1 Then Thead=Thead&"<th>"&rs0("title")&"</th>"
Tbody=Tbody&"<td>"&rs(rs0("name"))&"</td>"
rs0.movenext
Loop
Set rs0 = Nothing
Tbody=Tbody&"</tr>"
rs.movenext
Loop
Set rs = Nothing
以上代码,我将rs(rs0("name"))换成rs(“ID”)可以输出,将rs0("name")输出显示为ID,请问为什么将两个嵌套就提示“在对应所需名称或序数的集合中,未找到项目。”?
既然rs0("name")输出值为ID,那rs(rs0("name"))应该等同于rs(“ID”)啊,为什么rs(“ID”)可以输出,rs(rs0("name"))就出错了? 展开
Do While Not rs.eof
Tbody=Tbody&"<tr>"
Set rs0 = sql.r("Select * From RF_Table_item Where tab="&ID&" And setup=true And islist=true Order By ord Asc")
Do While Not rs0.eof
If Instr(Thead,"<th>"&rs0("title")&"</th>")<1 Then Thead=Thead&"<th>"&rs0("title")&"</th>"
Tbody=Tbody&"<td>"&rs(rs0("name"))&"</td>"
rs0.movenext
Loop
Set rs0 = Nothing
Tbody=Tbody&"</tr>"
rs.movenext
Loop
Set rs = Nothing
以上代码,我将rs(rs0("name"))换成rs(“ID”)可以输出,将rs0("name")输出显示为ID,请问为什么将两个嵌套就提示“在对应所需名称或序数的集合中,未找到项目。”?
既然rs0("name")输出值为ID,那rs(rs0("name"))应该等同于rs(“ID”)啊,为什么rs(“ID”)可以输出,rs(rs0("name"))就出错了? 展开
展开全部
我觉得是错的。rs(),括号里面的应该是数据库中有的字段,而你嵌套进去之后相当于等于rs("小强(假设是小强)"),而你的数据库字段中是不可能有小强的。所以会找不到,希望能够帮到你。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rs("xx") 是Recordset对象的表述,其中xx是特指表格的列(字段名称);你的rs(rs0("name")),按照你的思维是这样理解的,但是程序理解的时候它就是要把其中的rs0("name") 先当成一个字段名去匹配;
追问
那应该什么写才正确?
追答
你这个不确定啊?
如果你的rs0("name")是 固定输出为ID,你就直接写上ID,即rs0("ID");
同时你的数据表中的也要有完整的对应关系,就是rs0("name")是rs("XXX")中固定存在的列,否则循环出来还是要出错误的;
如果都可以保证 你试试如下写法:rs(""&rs0("name")&"")
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询