Toon posts:

[ASP] For Each Next vanuit RecordSet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heb een database met daarin een aantal links naar afbeeldingen. Deze afbeeldingen moeten worden ingelezen door een Flash applicatie die de volgende formattering heeft":

'afbeelding.jpg', 'afbeelding.jpg'

Nu is mijn bedoeling om via FOR EACH NEXT de gehele recordset uit te lezen en een lijst te genereren.

De door Dreamweaver gegenereerde code voor de RecordSet is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Dim Recordset1
Dim Recordset1_numRows

Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_activedit_STRING
Recordset1.Source = "SELECT * FROM slideshows"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()

Recordset1_numRows = 0


En mijn, niet werkende, for next code is:

code:
1
2
3
4
5
DIM mijnLijst, mijnRecordset, mijnAfbeelding
For Each mijnAfbeelding in Recordset1.Fields.Item("afbeelding").Value
mijnLijst = MijnLijst + mijnAfbeelding & ","
Slideshow = (Recordset1.Fields.Item("afbeelding").Value) & "," 
NEXT


Heb nog nooit eerder gewerkt met FOR EACH NEXT via een RecordSet dus alles wat mij in de goede richting wijst is welkom!

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Gebruik voor dit soort dingetjes de RecordSet::GetString() methode. Die is een stuk sneller, en dan hoef je na afloop alleen aan het einde or nog iets aan te plakken of aan het begin er iets af te knippen. ;)

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 20:00
Verwijderd schreef op vrijdag 20 mei 2005 @ 11:55:

Heb nog nooit eerder gewerkt met FOR EACH NEXT via een RecordSet dus alles wat mij in de goede richting wijst is welkom!
Ik weet niet hoe je ASP aan het leren bent? Heb je een boek bij de hand of doe je het aan de hand van online tutorials? Dit valt met wat zoekwerk makkelijk terug te vinden op het internet. Zie ook bijvoorbeeld w3schools ADO Examples..

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 08-04 12:54

Jaspertje

Max & Milo.. lief

Waarom wil je een For each next gebruiken?

je kan ook een while not recordset.eof, rs.movenext, wend doen

  • KurtDB
  • Registratie: Juni 2004
  • Laatst online: 09-02 20:28
Doe liever een rs.getRows() om eerst een matrix met je waarden terug te krijgen. Daarna kunt ge eerst netjes uw connectie en recordset sluiten voor ge heel uw data gaat doorlopen. (da's sneller en mooier imho) Uw data kunt ge dan uiteraard met een for doorlopen.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Jaspertje schreef op vrijdag 20 mei 2005 @ 12:08:
Waarom wil je een For each next gebruiken?

je kan ook een while not recordset.eof, rs.movenext, wend doen
Het is niet alleen een kwestie van willen, maar meer een kwestie van kunnen. Het deel wat achter de IN staat moet een "foreachable" verzameling zijn. De TS haalt echter 1 waarde op, namelijk die van het eerste record in je recordset.

Je moet dus wel met een while... wend... constructie aan de slag.
edit:
of zoals KurtDB aangeeft met getrows. Kijk ook eens op MSDN voor meer info over Recordsets en andere ADO objecten: http://msdn.microsoft.com.../mdmscadoapireference.asp

[ Voor 22% gewijzigd door bigbeng op 20-05-2005 14:06 ]


Verwijderd

Topicstarter
Heren en wellicht dames.. hartelijk dank voor jullie commentaar. Het is opgelost en wel met de volgende code:

code:
1
2
3
4
5
6
7
8
<%
DIM mijnLijst, mijnAbeelding
Do UNTIL RecordSet1.eof
    mijnAfbeelding=RecordSet1("afbeelding")
    mijnLijst = mijnLijst + "'" & mijnAfbeelding & "'" & ", "
    RecordSet1.movenext
LOOP
%>
Pagina: 1