Asp classic 将字典存储到会话
我创建了这个函数,但它似乎给了我一个问题。我想将字典存储到会话变量中,以便在整个网站上访问字典。我不断得到所需的错误对象:DictionaryObject,否则它会说这个键已经存在于dictionary中。有人能告诉我我做错了什么吗 我确实看过这篇帖子,但并不真正符合我的意图Asp classic 将字典存储到会话,asp-classic,vbscript,Asp Classic,Vbscript,我创建了这个函数,但它似乎给了我一个问题。我想将字典存储到会话变量中,以便在整个网站上访问字典。我不断得到所需的错误对象:DictionaryObject,否则它会说这个键已经存在于dictionary中。有人能告诉我我做错了什么吗 我确实看过这篇帖子,但并不真正符合我的意图 Function LoadPermissions() Dim SQLString SQLString ="SELECT datafields here... FROM " & TBL_employ
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
我能让它工作,这就是我所做的?如果有人看到任何错误,或者我需要添加任何错误捕获。这在用户登录时加载一次 Dim-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...")