Just nu i M3-nätverket
Gå till innehåll

Rs.Fields


Tenkes

Rekommendera Poster

Hur använder man Rs.Fields?

Om man skriver ex: Rs.Fields("Id") menas det alla

rader som ingår i fältet Id då? Om det är så, hur spara undan man dessa Id i variabler?

Länk till kommentar
Dela på andra webbplatser

Nej det är en rad, man använder sedan rs.MoveNext för nästa rad, lämpligtvis görs detta i en loop:

 

Do While NOT rs.EOF

 

' gör nåt med datan i recordset:et

 

rs.MoveNext

Loop

 

Det går ochså få alla rader på en gång med getRows om det var det du ville ?

 

[inlägget ändrat 2002-10-09 09:49:23 av XyZz]

Länk till kommentar
Dela på andra webbplatser

Hur gör jag enklast om jag vill spara undan i variabler dem Id som finns i fältet Id? (Det finns fler fält också men principen är det det samma, eller?)

 

 

 

[inlägget ändrat 2002-10-09 10:33:30 av Tenkes]

Länk till kommentar
Dela på andra webbplatser

Null or not an object

Om jag förstår dig rätt så har du t.ex. 3 records i ditt recordset (rs). Du vill att varje ID ska bli en variabel.

 

Jag skulle gjort så här:

 

x = o

DO WHILE NOT rs.EOF

 

ID & x = rs("id")

 

x = x + 1

 

rs.MoveNext

LOOP

 

Nu har du tre variabler so mheter ID0, ID1 och ID2. Vill du att den första ska heta ID1 byter du x=o till x=1.

 

Hoppas att detta gav dig svar på frågan. Eller var jag helt ute o cyklade...??? Man skulle säkert kunna skapa en array av detta, men jag kan ingenting om arrayer, så därför ger jag mig inte in i det. Någon annan som skulle kunna ge ett exempel med en array?

 

Länk till kommentar
Dela på andra webbplatser

Samma sak fast med en array. Antag att du fått ut hur många poster rs innehåller och sparat det antalet i "antalPoster". Då kan du göra så här:

 

dim minaId(antalPoster)

x = 0

DO WHILE NOT rs.EOF

minaId(x) = rs("id")

x = x + 1

rs.MoveNext

LOOP

 

mvh,

query

_________________________________________________________

Things should be made as simple as possible, but not any simpler.

- Albert Einstein

 

 

Länk till kommentar
Dela på andra webbplatser

Stor tack till er båda (Fredrik Rodin och query). Jag kommer och experimenterar lite med de förslagen jag fått av er. Hoppas det kommer och fungerar.

 

Det är så här jag får ut hur många poster rs innehåller:

rs.Fields("P_Id").ActualSize

 

Rätta mig om jag har fel.

 

 

Mvh

 

Länk till kommentar
Dela på andra webbplatser

Ändrade lite och gör en loop som nedan

 

antalPoster=0

do while not rs.EOF

rs.MoveNext

antalPoster=antalPoster+1

loop

 

därefter kör jag din kod och får följande felmeddelande:

 

Expected integer constant

/test.asp, line 43, column 11

dim minaId(antalPoster)

----------^

 

Kan du förklara varför?

 

Länk till kommentar
Dela på andra webbplatser

Gör en en response på antalPoster:

Response.Write("<p>" & antalPoster)

Då får du reda på om antalPoster innehåller något.

 

Sedan skulle jag köra:

antalPoster = CInt(antalPoster)

 

Har du Option Explicit på första raden?

 

/Johan

 

 

Länk till kommentar
Dela på andra webbplatser

Om du ska dimma en array (vilket det är du försöker göra) så kan du inte dimma arreyen med ett variabelnamn (antalPoster) där arrayen vill veta hur många platser den ska innehålla (alltså integer-tal), utan antingen dimmar du :

 

dim MinArray()

som ska ge obestämt antal platser i arrayen

eller

 

dim MinArray(30)

som ger 31 platser i arrayen (0-30)..

 

Alltså:

dim minaId(), antalPoster

så har du dimmat båda två..

 

Kolla lite på MS länk om att dimma..

 

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsstmdim.asp

 

Tillägg:

Kombinerat ihop med Johans svar ska nog alla varianter av dimning vara täckta! ;)

 

/J

 

[inlägget ändrat 2002-10-09 17:35:35 av Jenny Redenheim]

Länk till kommentar
Dela på andra webbplatser

Tack Hotshot och Jenny Redenheim och

alla andra som har hjälpt mig och poäng för de som inte fått än.

 

Mvh

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...