ASP循环代码中rs.close和set rs=Nothing的用法

下面是举个例子,我想问下,我在循环里打开了一个rs1的记录集,如果想使用rs1.close和setrs1=Nothing的时候,是放在循环里面还是等循环全部结束了之后再使... 下面是举个例子,我想问下,我在循环里打开了一个rs1的记录集,如果想使用rs1.close和set rs1=Nothing的时候,是放在循环里面还是等循环全部结束了之后再使用了,另外rs1.close和set rs1=Nothing要同时使用效果才好吗,或者有没更好的写法呀,希望各位有经验的大侠不吝赐教。
rs1.close和set rs1=Nothing<%for i=1 to rs.pagesize%>
<td><%=rs("ddbh")%></td><!--显示订单编号 -->
sql1=“select name from ywy where ywybh='"&rs("ywybh")&"'”
set rs1=conn.execute(sql1)
<td><%=rs1("ywyname")%></td><!--通过rs获取到业务员编号,然后到业务员表里查找获取到业务员的姓名-->
<td>......</td>
<%
rs.MoveNext
if rs.eof then exit for
next
%>
怎么一个说在循环里结束,一个说在循环外结束啊,到底听哪位的啊
我是说的rs1.close和set rs1=Nothing,不是标题的那个,到底该放到哪才是正确的啊
展开
 我来答
terrymoone
推荐于2018-05-15 · TA获得超过5433个赞
知道大有可为答主
回答量:4520
采纳率:41%
帮助的人:1655万
展开全部
这两行代码需要放在循环体外面才比较直观,放在循环体里的话,这就和循环体的判断有关了。
rs.close就是recordset关闭,也就是关闭这个查询结果集。
set rs=nothing就是释放这个结果集占用的空间。
一般都需要用到这个操作。
51site
2011-01-04 · TA获得超过2853个赞
知道大有可为答主
回答量:1775
采纳率:0%
帮助的人:2231万
展开全部
在循环结束以后才能写!
这是为了关闭上面定义的数据记录集,这主是起释放数据库记录集的作用,当一个页面只有一个记录集的时候不写看不到什么问题,只是会影响数据的访问效率,但是当一个页面有多个记录集,比如你定义的RS、RS1.。。。等等如果,有嵌套使用的时候如果内层不关闭你的程序就会报错了!
至于你所说的更好的办法,我建议是写程序代码的时候尤其有记录集嵌套的时候层次一定要分清楚,从里面向外逐层关闭,如果没有嵌套只是按步骤多次使用记录集,可以使用全局定义的方面缩减代码量!
希望对你有所帮助!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巴哥泡泡
2011-01-04 · TA获得超过1040个赞
知道大有可为答主
回答量:1040
采纳率:0%
帮助的人:1137万
展开全部
因为在循环里面打开的,所以你必须在循环里面结束掉RS1,所以那两句话还是写在循环里面!另外,也可以直接用RS1.CLOSE的,set rs1=Nothing只是释放内存,可以在确定不再需要RS1以后才使用!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ac7b053
2011-01-04 · TA获得超过340个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:150万
展开全部
当然是在循环外使用 rs1.close和set rs1=Nothing
思路应该是rs是一个记录集合,只有把记录集遍历全部遍历出来了,才能把记录集关闭然后释放内存。。。。如果在循环遍历的时候使用那数据会不完整而且会出异常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx581129
推荐于2016-03-07 · 超过28用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:73.5万
展开全部
set rs1=Server.CreateObject("Adodb.Recordset") '创建一个rs1
while not rs.eof

sql1=“select name from ywy where ywybh='"&rs("ywybh")&"'”
rs1.open sql1,conn,1,1
....
rs1.close

rs.movenext
wend
set rs1=nothing 'rs1没用了清理

文字东西就不说了。直接上代码。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式