【问题标题】:Return from vbscript sub causes error on ASP page从 vbscript 子返回导致 ASP 页面上的错误
【发布时间】:2020-09-13 20:31:51
【问题描述】:

这让我发疯了。从这个 sub 返回时,我的网页上出现错误(“500 - 内部服务器错误。”)。它执行得很好并完成了它应该做的事情:如果尚未添加用户记录 (MemID) 到事件 (EventID) 的聊天表中。第一个查询是查明是否已经有记录。如果不是,则 INSERT 语句添加一条记录。子程序运行后发生错误。

Sub NewView (EventID)
    MemID=Session("MemID")
    
    If MemID>0 then
        Set cn5=Server.CreateObject("ADODB.connection")
        cn5.open application("gbConnect")    
        SQL="SELECT Chat.MemID, Chat.EventID FROM Chat WHERE Chat.MemID=" & MemID & " AND Chat.EventID=" & EventID & ";"  
        cn5.cursorLocation=3

        Set Rst=cn5.execute(SQL)
        
        If Rst.recordcount = 0 then
            Comment="is watching"
            SQL="INSERT INTO Chat ( MemID, EventID, Comment ) SELECT " & MemID & "," & EventID & ", '" & Comment & "';"
            cn5.execute(SQL)
            Set cn5=nothing
        End If
    End If 
End Sub

在页面上: NewView (EventID) '从这个 sub 返回会导致错误! “500 - 内部服务器错误。”

【问题讨论】:

标签: vbscript asp-classic


【解决方案1】:

好的。我想到了。我得到了关于变量范围的课程。在 sub 中设置变量 Rst(记录集)会破坏主页上的相同变量。现在只需要等待我的头发长回来。

【讨论】:

  • Option Explicit 是你的朋友,你不应该使用没有Dim 的变量(尤其是在SubFunction 中)。
猜你喜欢
  • 1970-01-01
  • 2017-07-15
  • 1970-01-01
  • 1970-01-01
  • 2013-06-30
  • 2013-03-05
  • 2011-08-06
  • 1970-01-01
  • 2019-04-30
相关资源
最近更新 更多