PDA

Vollständige Version anzeigen : SQLDataReader


FrankMueller
20.12.2007, 07:07
Guten Morgen!
Kann ich mit irgendeinem Befehl den Datareader auf den nächsten Datensatz setzen? z.B. prüfe ich,ob ein bestimmter Nachname vorhanden ist, falls er das ist,soll er mir seine kompletten Daten in die Tabelle inserten, falls er den Namen nicht findet soll er sich den nächsten Datensatz vorknöpfen,ohne den Datensatz zu inserten. Im Moment habe ich das mit einer boolean Variable gemacht,die ich auf true und false setze,aber gibt es nicht einen Befehl der sofort auf den nächsten Datensatz geht,falls der Name nicht gefunden wird??

hcscherzer
20.12.2007, 08:35
Guten Morgen Frank,
zu Deiner neuen Frage: jeder DataReader.Read() Befehl setzt den Datensatzzeiger auf den nächsten Datensatz.

Da Du hier im Forum noch neu bist und vielleicht die persönliche Nachricht, die ich Dir geschrieben hatte, nicht gesehen hast, eine kleine Bitte: zu den von Dir in den vergangenen Tagen eröffneten Beiträgen haben ja ein paar Leute Dir versucht zu helfen und da wäre es einfach nett, eine Rückmeldung zu bekommen, ob die Hilfe gewirkt hat.

Unter Umständen macht es auch Sinn, wenn Du ein einem Thread bleibst und die Folgefrage dort stellst als für jede Frage einen neuen Thread zu öffnen.

FrankMueller
20.12.2007, 09:15
Sorry stimmt,habe die Nachricht nicht gelesen. Werde sofort alles beantworten und demnächst in den gleichen Thread schreiben!

Nun noch mal zu meiner Frage,
ich habe ja den SQLDataReader mit read geöffnet,dann darin eine Abfrage,ob ein bestimmter Nachname erhalten ist,wenn der nciht enthalten ist,dann soll er sofort den neuen Datensatz einlesen und nicht die Schleife bis zum ende durchlaufen!!!

Um das verständlich zu machen,ich würde gerne den Zeiger auf den nächsten datensatz manuell setzen,falls diese Nachname Bedingung nicht erfüllt ist!

hcscherzer
20.12.2007, 09:42
Die Schleife liest alle Datensätze ein.
Wenn Du jetzt als erstes die Bedingung abfragst (ich nehme mal an, dass der Name im 1. Feld steht), dann brauchst Du doch nur zu prüfen, ob sie wahr ist, wenn nicht wird der nächste Satz angesprungen:
Dim nn As String
Do While objReader.Read()
nn = objReader.GetString(0)
If InStr(nn, "bestimmter Name") > 0 Then
' hier kommt die Verarbeitung
EndIf
Loop