21. marts 2003 - 11:29
Der er
19 kommentarer og 1 løsning
Collection i ASP
Hey Visual Basic under støtter brug af Collections har ASP noget af den samme funktionalitet ???
Annonceindlæg fra Infor
21. marts 2003 - 11:31
#1
21. marts 2003 - 11:33
#2
21. marts 2003 - 11:37
#3
Nej egenlig ikke desværre. Det jeg har brug for er et eksempel på hvordan man anvender collections i ASP. (Hvis det overhovedet kan lade sig gøre) Eller en anden måde hvorpå at jeg f.eks. kan gemme data i f.eks et array. Det man gør i f.eks. VB er: Do While Recordset.Eof Collection.FirstName = Recordset("FirstName") Collection.LastName = Recordset("LastName") MyCollection.Add Collection Set Collection = Nothing Recordset.MoveNext Loop Og jeg ønsker noget tilsvarende i ASP
21. marts 2003 - 11:42
#4
erikjacobsen >> Du er lidt inde på det rigtigt. Men i når man vil løbe sin collection igennem kan kan kun gøre det en ad gangen. Kan man omgå dette?
21. marts 2003 - 11:43
#5
En af gangen ?? Den forstår jeg ikke. Scripting.Dictionary er ganske primitiv, og et "bevis" på at gammeldags ASP er yt ;)
21. marts 2003 - 11:47
#6
Du har kun muligheden med dictionaries (som ikke fungerer specielt godt). Eller eventuelt bruge disconnectede recordsets. Det fungerer som et normalt recordset, du har bare ingen datascource, men opbygger selv felter og propper ting i dem.
21. marts 2003 - 11:47
#7
erikjacobsen >> Når du indsætter værdier i dit collection object (People) og skal udskrive disse kan man kune gøre det en adgangen. F.eks. Set people(0) = server.CreateObject("Scripting.Dictionary") people(0).Add "fname", "Jane" people(0).Add "lname", "Doe" people(0).Add "haircolor", "brown" people(0).add "eyecolor" , "blue" people(0).add "dateofbirth", "1/10/60" Set people(1) = server.CreateObject("Scripting.Dictionary") people(1).Add "fname", "Reginald" people(1).Add "mname", "Elton" people(1).Add "lname", "Dwight" people(1).Add "haircolor", "red" people(1).add "eyecolor" , "dusty" people(1).add "dateofbirth", "1/10/60" for each whatever in people(0) response.write whatever & "=" response.write people(1).item(whatever) & "<br>" next for each whatever in people(1) response.write whatever & "=" response.write people(1).item(whatever) & "<br>" next
21. marts 2003 - 11:50
#8
Du kan sikkert proppe en almindelig forløkke udenom, til at løbe dit array igennem: for i=lbound(people) to ubound(people) .....etc next
21. marts 2003 - 11:52
#9
Dette har jeg forsøgt men af en eller anden årsag får jeg kun skrevet den første ud.
21. marts 2003 - 11:54
#10
Din kode?
21. marts 2003 - 11:56
#11
Den kommer her: dim people(3) Set people(0) = server.CreateObject("Scripting.Dictionary") people(0).Add "fname", "Jane" people(0).Add "lname", "Doe" people(0).Add "haircolor", "brown" people(0).add "eyecolor" , "blue" people(0).add "dateofbirth", "1/10/60" Set people(1) = server.CreateObject("Scripting.Dictionary") people(1).Add "fname", "Reginald" people(1).Add "mname", "Elton" people(1).Add "lname", "Dwight" people(1).Add "haircolor", "red" people(1).add "eyecolor" , "dusty" people(1).add "dateofbirth", "1/10/60" Set people(2) = server.CreateObject("Scripting.Dictionary") people(2).Add "fname", "Hitoshi" people(2).Add "lname", "Yoshitsugu" ' print out one item for i=lbound(people) to ubound(people) Response.Write i & "<br><br>" for each whatever in people(i) response.write whatever & "=" response.write people(i).item(whatever) & "<br>" next i = i + 1 Next
21. marts 2003 - 11:57
#12
Drop linien i = i + 1
21. marts 2003 - 12:07
#13
Ok så virker det :-) Er der dog mulighed for at udviden denne men f.eks. at man kun vil udskrive "fname" eller "haircolor". Jeg er klar over at man kan skrive If Whatever = "fname" Then osv... men kunne man ikke noget a'la whatever.fname.... ???
21. marts 2003 - 12:13
#14
response.write people(i).item("fname") & "<br>"
21. marts 2003 - 12:14
#15
Fedt - mange tak for hjælpen erik. Gider du at poste et svar så du kan få dine point :-)
21. marts 2003 - 12:18
#16
Forresten hvis man ønsker at lægget et uvist antal værdier i sin collection, f.eks. fra et reocrdset hvordan dimensionerere man så people. Jeg har forsøgt mig med: n = 4 dim people(m) men dette giver en fejl.
21. marts 2003 - 12:21
#17
Det med ukendt størrelse på et array i gammeldags ASP er også et bevis for at man nok ikke skal bruge det til noget. Kan du aflæse antal records - det kan du vist, så dim people() '...aflæsning... redim people(antalposter)
21. marts 2003 - 12:26
#18
Kanon - mange tak.... og hvis du liger gider at komme med en besvarelse ;-)
21. marts 2003 - 12:27
#19
Nå, nej, tak, jeg samler ikke på point
21. marts 2003 - 12:57
#20
Det er meget muligt, men point er gode at have hvis man ønsker svar på sine spørgsmål - men på den anden side... de 100 point er for dit vedkommende en dråbe i havet ;-)
Kurser inden for grundlæggende programmering