Frage : Wie man zurückbringt mehr die eine Reihe mit recordset…

Ich habe Code, der dies tut:


for I = 1 zum intNbrAtts

sqlSub (i) = „AUSERWÄHLTES attendee_name, attendee_email von den meetings_attendees WO meeting_id = „“ u. intMtgID u. „“ UND (eingeladen = „0“ ODER eingeladen IST UNGÜLTIG) UND (gemailt = „0“ ODER gemailt IST UNGÜLTIG) „

'Response.Write (sqlSub (i))
gesetztes objRSAtt = objConn.Execute (sqlSub (i))
strAttName = objRSAtt.Fields.Item („attendee_name " ). Value
strAttEmail = objRSAtt.Fields.Item („attendee_email").Value

objRSAtt.MoveNext

Response.Write (strAttName) u. „
"
Response.Write (strAttEmail) u. „
"
next

The givens:

intNbrAtts = n, in dem n jedes mögliches number

objRSAtt = das eingestellte Server.CreateObject (ADODB.Recordset)

My Resultat, ist:

joe Smith
[email protected]
joe Smith
[email protected]

WHEN sollte es sein:

joe Smith
[email protected]
jane jones
[email protected]

Why sind ich die erste Reihe zweimal erhalten?

Peter

Antwort : Wie man zurückbringt mehr die eine Reihe mit recordset…

Weil Ihr für… zunächst Schleife nicht die Reihen im recordset aufzählt.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
SQL = „AUSERWÄHLTES attendee_name, attendee_email“ u. _
    „Von den meetings_attendees“ u. vom _
    „, WO meeting_id = „“ u. intMtgID u. „“ UND (eingeladen = „IST 0“ ODER eingeladen UNGÜLTIG),“ u. _
    „UND (gemailt = „IST 0“ ODER gemailt UNGÜLTIG)“
 
objRSAtt = objConn.Execute (SQL) einstellen
 
Bis objRSAtt.EOF tun
    strAttName = objRSAtt.Fields.Item („attendee_name“). Wert
    strAttEmail = objRSAtt.Fields.Item („attendee_email“). Wert
    Response.Write (strAttName) u. „
„ Response.Write (strAttEmail) u. „
„ objRSAtt.MoveNext Schleife
Weitere Lösungen  
 
programming4us programming4us