webForumDet fria alternativet

Scripting.Dictionary

ASP

6 svar · 531 visningar · startad av Fraggel

Medlem sedan sep. 2003301 inlägg
Frågan#1

groupID är Key i tabellen menuGroup.

    Dim objConn,objRs,SQL
    Set objConn = Server.CreateObject("ADODB.Connection")
    Set objRs = Server.CreateObject("ADODB.RecordSet")
    Dim objD
    Set objD = Server.CreateObject("Scripting.Dictionary")
    SQL = "SELECT * FROM menuGroup"
    objConn.Open strDatabase
    objRs.Open SQL,objConn
    While NOT objRs.EOF
      objD.Add objRs("groupID"),objRs("groupText")  '*****RAD 90*****
      objRs.MoveNext
    Wend

Detta ger fel:
Technical Information (for support personnel)

Error Type:
Microsoft VBScript runtime (0x800A01C9)
This key is already associated with an element of this collection
/artlog/config.asp, line 90

Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

Page:
GET /artlog/Default.asp

Time:
den 13 februari 2005, 15:21:43

More information:
Microsoft Support

Medlem sedan juni 200032 967 inlägg
#2

Felmeddelandet är ganska tydligt?

Nyckeln du försöker lägga till finns redan i dictionaryobjektet. För att lägga till bara unika värden, antingen ställ en SELECT DISTINCT-fråga istället, eller kontrollera att inte nyckeln redan är använd.

Medlem sedan sep. 2003301 inlägg
#3

Den var inte använd...

Problemet var

objD.Add objRs("groupID"),objRs("groupText")

Löste det:

Dim strTMP1,strTMP2
strTMP1 = objRs("groupID")
strTMP2 = objRs("groupText")
objD.Add strTMP1,strTMP2
Medlem sedan juni 200032 967 inlägg
#4

Hmmm... Vad menar du att problemet var alltså?

Medlem sedan sep. 2003301 inlägg
#5

Hmm editerad mitt inlägg lite :)

Medlem sedan juni 200032 967 inlägg
#6

Ok...

Jag nöjer mig då, så länge du accepterar som slutgiltigt svar. ;)

mvh

Medlem sedan sep. 2003301 inlägg
#7

Fixat !!!
Vänner :bire ???

431 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
289 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
286 ms — ändringar (db)