asp-classic - 将字典存储到 session 中

标签 asp-classic vbscript

我创建了这个函数,但它似乎给我带来了一个问题。我想将字典存储到 session 变量中,以便我可以在整个网站上访问该字典。我不断收到错误需要对象:DictionaryObject,或者它会显示此键已存在于字典中。有人可以告诉我我做错了什么吗?

我确实看过storing dictionary in session在这篇文章中,但并不真正适合我想做的事情!

Function LoadPermissions()

    Dim SQLString
    SQLString ="SELECT datafields here... FROM " & TBL_employees_permissions & " AS p WHERE p.eid = '" & Clng(12) & "';"

    If IsObject(Session("dicPermissions")) = True Then
        Set dicPermissions = Session("dicPermissions")
    Else
        Set dicPermissions = Server.CreateObject("Scripting.Dictionary")
    End If

    db_conn conn, rs '
    Set myRS = conn.Execute (SQLString) 

    For each item in myRS.Fields
        If IsObject(Session("dicPermissions")) = True AND DictionaryObject.Exists(Trim(item.Name)) = False Then
            dicPermissions.Add Trim(item.Name), Trim(myRS(item.Name))
        End If
    Next
    db_disconn conn, rs

    Set Session("dicPermissions") = dicPermissions 'Store Dictionary to session array.

End Function

最佳答案

我能够让它工作,这就是我所做的?如果有人发现任何错误或者我需要添加任何错误捕获。用户登录时加载一次。

暗淡的 SQLString

    SQLString ="SELECT Datefields here... & " AS p WHERE p.eid = '" & Clng(12) & "';"

    'Create the dictionary object.
    Set Session("dicPermissions") = Server.CreateObject("Scripting.Dictionary") 'Create the Dictionary object.

    'sets up a connection to the database
    db_conn conn, rs 'Open account table.
    Set myRS = conn.Execute (SQLString) ' Uses any ADODB connection

    For each item in myRS.Fields 'Create the dictionary with the field names and cell data.
            'dicPermissions.Add fieldname, feild value
            Session("dicPermissions").Add Trim(item.Name), Trim(myRS(item.Name))
    Next
    db_disconn conn, rs 'Close the database

您可以像这样访问它:

Response.write Session("dicPermissions").Item("itemnamehere...")

关于asp-classic - 将字典存储到 session 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243006/

相关文章:

asp-classic - 在服务器端 ASP JScript 中使用 mootools 时出现 Response.WriteBlock 错误

javascript - 折叠 Bootstrap Accordion 组

sql - 这个SQL有什么问题吗?

c# - 在 .NET 中使用 asp 对象 - 最大兼容性

vbscript - 检查文件是否存在并(仅当存在时)打开另一个文件(或文件夹)或运行应用程序

javascript - 从另一个页面控制 Javascript 计时器?

windows - 远程更改 Windows 7 墙纸

powershell - Powershell脚本将单词表转换为文本

vbscript - Windows 7安装程序,刷新路径环境变量

c# - 如何在 vb.net/c# 或 vbscript 中创建 ISAPI 过滤器 DLL