| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1346 人关注过本帖
标题:SUB 调用疑问
只看楼主 加入收藏
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
结帖率:50%
收藏
 问题点数:0 回复次数:13 
SUB 调用疑问
请教个问题
在 sub_config.asp 页面有 以下一个查询程序段如下
Sub Table_Select(str_table,str_select,str_where,str_by)
sql="select "&str_select&" from "&str_table&"  "&str_where&"  "&str_by&" "
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
(如果把输出数据写在 sub...end sub 之间是可以显示数据的)
end Sub

在seting.asp 中调用时 却不能显示数据,调用数据如下,是怎么一回事?

<% call Table_Select("websetting","webtitle,webkey,webinfo","","")  
response.write rs(0)  &"\"&rs(1) &"\"& rs(2)
rs.close
set rs=nothing
%>
搜索更多相关主题的帖子: SUB 疑问 
2008-07-16 18:28
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
确认一下这个rs指的是同一个rs……
2008-07-16 18:42
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
收藏
得分:0 
是的,同一个RS

生活的理想,就是为了理想的生活。
2008-07-16 19:14
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
那我只能说……这个很诡异……
2008-07-16 19:28
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
收藏
得分:0 
还是说SUB() 不支持 这样使用

生活的理想,就是为了理想的生活。
2008-07-16 19:48
tianyu123
Rank: 1
等 级:新手上路
威 望:2
帖 子:576
专家分:0
注 册:2007-8-26
收藏
得分:0 
过程中创建的对象,只能在过程中使用,当调用过程完毕后,对象就失效了

就像是过程级变量与脚本级变量的生命周期是不一样的

改变一切,须从改变观念开始!
2008-07-16 19:55
tianyu123
Rank: 1
等 级:新手上路
威 望:2
帖 子:576
专家分:0
注 册:2007-8-26
收藏
得分:0 
在过程外声明rs对象就好了
dim rs

Sub Table_Select(str_table,str_select,str_where,str_by)
sql="select "&str_select&" from "&str_table&"  "&str_where&"  "&str_by&" "
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
(如果把输出数据写在 sub...end sub 之间是可以显示数据的)
end Sub

改变一切,须从改变观念开始!
2008-07-16 20:01
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
收藏
得分:0 
终于纠正了,原来是 局部和全局变量的问题
只要把set rs=server.createobject("adodb.recordset") 放到Sub Table_Select 外面就可以了。
这样自就可以简约代码了。请高手别笑话.......

set rs=server.createobject("adodb.recordset")
Sub Table_Select(str_table,str_select,str_where,str_by)
sql="select "&str_select&" from "&str_table&"  "&str_where&"  "&str_by&" "
rs.open sql,conn,1,1
end Sub

生活的理想,就是为了理想的生活。
2008-07-16 20:27
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
问题不在这里。

难道说你没有定义变量?
难道rs在Set之前没有定义?
2008-07-16 20:29
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
[bo][un]tianyu123[/un] 在 2008-7-16 19:55 的发言:[/bo]

过程中[bo]创建的对象[/bo],只能在过程中使用,当调用过程完毕后,对象就失效了

就像是过程级变量与脚本级变量的生命周期是不一样的


这个创建指的是Dim的过程,而绝对不是Set的过程,所以楼主的情况可能是没有定义rs变量,在过程内Set的时候创建了rs变量,离开过程之后自然rs就作废了。

Sub是绝对支持这样使用的。
2008-07-16 20:31
快速回复:SUB 调用疑问
数据加载中...
 
   



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

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