| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1900 人关注过本帖
标题:function调用出错---function结果不能再赋值?
取消只看楼主 加入收藏
towering
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:261
专家分:507
注 册:2007-10-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
function调用出错---function结果不能再赋值?
<!--#include file="Conn.asp"-->
<html>
<head>
<title>无标题文档</title>
</head>
<body>
<%
function HotNews(num)
 sql="select top "&num&" id, Title,filepath,filename from OfficeNews order by hits,id ASC"
 set rs=Server.CreateObject("ADODB.Recordset")
  rs.open sql,conn,1,1
 Response.Write("<ul>")
  If rs.eof and rs.bof then
   Response.Write("当前没有文章,请添加!")
  else do while not rs.eof
  filepath=rs("filepath")&rs("filename")
         Response.Write("<li><a href='show.asp?id="&rs("id")&"' target='_blank' title='"&rs("title")&"'>")
    Response.Write(left(rs("Title"),16))
     If Len(rs("title"))>16 then
      Response.Write("...")
     End if
   Response.Write("</a></li>")
  rs.movenext
  loop
  End If
  rs.close
 Set rs=nothing
    Response.Write("</ul>")
end function

'热点文章
hotnews=HotNews(13)
Response.Write(hotnews)
%>
</body>
</html>


我知道其实直接写“HotNews(13)”就可以调用了。
主要是想在需要的地方直接加入hotnews,
所以才给HotNews(13)又赋了个值。

但是一直出错是:
Microsoft VBScript 运行时错误 错误 '800a01f5'
非法赋值: 'HotNews'
/officeadmin/untitled.asp,行 34


代码中的红色hotnews=HotNews(13)就是传说中的第34行。

新手学习,不知道应该怎么改。

谢谢!


[ 本帖最后由 towering 于 2010-4-26 16:43 编辑 ]
搜索更多相关主题的帖子: function 赋值 结果 
2010-04-26 16:39
towering
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:261
专家分:507
注 册:2007-10-9
收藏
得分:0 
直接调用HotNews(13)是显示13条新闻,但是赋值之后就出错了!

我的ASP小站:http://www./
2010-04-26 17:14
towering
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:261
专家分:507
注 册:2007-10-9
收藏
得分:0 
Re四楼:返回值是有的。如果我直接用"HotNews(13)"就是显示13条新闻。只是加上前面的"hotnews="就会报错。

果然是变量有重复!

谢谢!

[ 本帖最后由 towering 于 2010-4-26 20:47 编辑 ]

我的ASP小站:http://www./
2010-04-26 20:02
towering
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:261
专家分:507
注 册:2007-10-9
收藏
得分:0 
Re五楼:版主的意思是我用了两次hotnews.现在看来还真是这里错了!

我换成"hot=HotNews(13)"就可以了!

谢谢!

[ 本帖最后由 towering 于 2010-4-26 20:32 编辑 ]

我的ASP小站:http://www./
2010-04-26 20:07
towering
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:261
专家分:507
注 册:2007-10-9
收藏
得分:0 
版主,我还有一个问题,你好人做到底吧.

我现在用function在执行的时候每次都有返回值.

我想用sub好了.我是这样改的:
<%
sub HotNews(num)
......'中间省略
end sub

'热点文章
hot=call HotNews(13)
Response.Write(hot)
%>

可是这样还是会报错呀!
Microsoft VBScript 编译器错误 错误 '800a03ea'
语法错误
/officeadmin/untitled.asp,行 34
hot=call HotNews(13)
----^

我哪里错了?

谢谢!

我的ASP小站:http://www./
2010-04-26 20:44
towering
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:261
专家分:507
注 册:2007-10-9
收藏
得分:0 
了解!经过这一问我是真的了解这个Sub和function的区别了和用发了。谢谢各位!现在手机上网不方便,明天结帖!

我的ASP小站:http://www./
2010-04-26 21:28
快速回复:function调用出错---function结果不能再赋值?
数据加载中...
 
   



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

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