| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1268 人关注过本帖
标题:循环赋值出现问题...大家来看下...
只看楼主 加入收藏
ih_ks
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-1-1
收藏
 问题点数:0 回复次数:25 
循环赋值出现问题...大家来看下...

<%
set rs = server.createobject("adodb.recordset")
sql = "select * from newstype"
rs.open sql,conn,1,3
rscount=rs.recordcount
%>
<%do while not rs.eof%>
<%
typeID=cstr(=rs("ypeidID"))
%>
<%
n=0
n=n+1
%>
<%
set rs2 = server.createobject("adodb.recordset")
sql2="select * from smallclass where ypeidID='"&typeID&"'"
rs2.open sql2,conn,1,3
%>
<%
do while not rs2.eof
%>
<%
rs2.movenext
Loop%>
<%
rs.movenext
loop
%>

提示说至少有一个没有赋值...我把sql2="select * from smallclass where ypeidID='"&typeID&"'" 改成
sql2="select * from smallclass"就可以运行...但是rs2就根本没用...

请高手指导一下....是不是不能循环赋值的?

搜索更多相关主题的帖子: 赋值 recordset ypeidID 
2007-06-09 11:35
rtc
Rank: 2
等 级:新手上路
威 望:4
帖 子:590
专家分:0
注 册:2007-6-6
收藏
得分:0 
在rs运行后
要先把rs.close掉!
2007-06-09 11:40
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
收藏
得分:0 
<%
do while not rs2.eof
%>
这怎么什么都没有啊?
<%
rs2.movenext
Loop%>
2007-06-09 11:54
ih_ks
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-1-1
收藏
得分:0 

我这有2个rs喔...应该加在哪...

2007-06-09 11:55
ih_ks
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-1-1
收藏
得分:0 
以下是引用lq7350684在2007-6-9 11:54:32的发言:
<%
do while not rs2.eof
%>
这怎么什么都没有啊?
<%
rs2.movenext
Loop%>

那个里面是输出rs2里面的东西的...忘记粘贴了...

2007-06-09 11:56
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 
以下是引用ih_ks在2007-6-9 11:35:10的发言:

<%
set rs = server.createobject("adodb.recordset")
sql = "select * from newstype"
rs.open sql,conn,1,3
rscount=rs.recordcount
%>
<%do while not rs.eof%>
<%
typeID=cstr(=rs("ypeidID"))
%>
<%
n=0
n=n+1
%>
<%
set rs2 = server.createobject("adodb.recordset")
sql2="select * from smallclass where ypeidID='"&typeID&"'" '你的ID应该是数字吧?把两边的'去掉
rs2.open sql2,conn,1,3
%>
<%
do while not rs2.eof
%>
<%
rs2.movenext
Loop%>
<%
rs.movenext
loop
%>

提示说至少有一个没有赋值...我把sql2="select * from smallclass where ypeidID='"&typeID&"'" 改成
sql2="select * from smallclass"就可以运行...但是rs2就根本没用...

请高手指导一下....是不是不能循环赋值的?


http://www./
2007-06-09 12:03
ih_ks
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-1-1
收藏
得分:0 

可是我的数据库里设的是文本型....在typeID=cstr(=rs("ypeidID"))得到的也是文本...应该要加的吧.

2007-06-09 12:10
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
<%
set rs = server.createobject("adodb.recordset")
sql = "select * from newstype"
rs.open sql,conn,1,3
rscount=rs.recordcount
do while not rs.eof
typeID=cstr(=rs("ypeidID"))
n=0
n=n+1
set rs2 = server.createobject("adodb.recordset")
sql2="select * from smallclass where ypeidID='"&typeID&"'"
rs2.open sql2,conn,1,3
do while not rs2.eof
rs2.movenext
Loop
rs.movenext
loop
%>
楼主这段代码最明显的一个问题是,使用了RecordSet嵌套记录集的循环。
潜逃循环不反对,但这里面是嵌套RecordSet就不怎么样了。
个人认为当每创建一个记录集或执行rs.open方法,就会占用内存资源。
如果潜逃循环,这样就是循环占用内存资源,内存资源就造成了浪费。
如果这个时候网站访问量稍大一些,内存溢出直接的后果就是导致网站崩溃。
所以个人认为最好不要采用这种循环,也就是尽量不嵌套循环rs,多用SQL语句来解决。
2007-06-09 12:52
zhouwenjing
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-6-9
收藏
得分:0 
typeID=cstr(=rs("ypeidID"))
有这种写法吗?
应该是这样写吧!
typeID=cstr(rs("ypeidID"))
2007-06-09 13:17
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
收藏
得分:0 
楼上说的有道理。
2007-06-09 13:18
快速回复:循环赋值出现问题...大家来看下...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037002 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved