检查变量是否是记录集

时间:2014-04-08 13:48:14

标签: asp-classic

多年以来我一直没有使用经典的asp,我不记得怎么做了。

我正在循环我的会话变量以在文本框中打印它们,但是当它遇到记录集变量时它会返回一个错误。

    Dim Item    
    Dim sessao

    For Each Item in Session.Contents
        If Item <> "Servidor" AND Not IsNull(Session.Contents(item)) THEN
            response.write(Session.Contents(item))
            response.write(item + "<br/>")
            'sessao = sessao + (Item + "&" + Session.Contents(item) + "@")
        end if
    next

所以如果Item&lt;&gt;那么我需要像这样的东西记录集然后跳过这种情况

1 个答案:

答案 0 :(得分:3)

如果您尝试Response.Write它们到页面,那么包含对象的会话值将始终导致错误。

您可以通过使用IsObject()函数检查Session值是否包含对象来避免这种情况。

在您的代码中

If Item <> "Servidor" And Not IsObject(Session.Contents(item)) Then
  

重要提示:

     

正如meda所指出的,将ADODB.Recordset个对象存储在会话值中是很昂贵的。如果你能解释你想要实现的目标,我们不建议这样做,我们可以提供更可行的解决方案。