SQL Abfrage Problem
Verfasst: 01.02.2009 14:54
Hallo Zusammen,
mit diesem Code:
habe ich leider folgendes Problem, und zwar:
Der Code läuft soweit einwandfrei, bis auf, das die While Schleife nur einmal ausgeführt wird, obwohl ich in der der ersten "SQL" Abfrage mehrere Zeilen als Ergebnis habe.
Nachdem die zweite "SQL1" Abfrage ausgeführt wurde, sind alle Inhalte aus der "SQL" Abfrage weg.
Könnte mir hier jemand helfen, ich weis nicht, warum das so ist.
Verstehe ich nicht.
Schon mal vielen Dank für Eure Hilfe.
mit diesem Code:
Code: Alles auswählen
DBOpenOrClose(0) ;Hier wird eine Procedure aufgerufen (Wert 0 = Datenbank öffnen; Wert 1 = Datenbank schliessen)
If IsDatabase(db)
SQL = "SELECT BUCHUNG.BNR, BUCHUNG.TEXT, BUCHUNG.BELEGNR "
SQL = SQL + "FROM BUCHUNG RIGHT JOIN LIEFERAN ON BUCHUNG.KHABEN = LIEFERAN.LIEFKNR "
SQL = SQL + "WHERE (((BUCHUNG.BELEGNR)<7000) And ((BUCHUNG.KSOLL)<40900));"
If DatabaseQuery(db, SQL)
While NextDatabaseRow(db)
For Counter = 0 To DatabaseColumns(db) - 1
Select Counter
Case 0
SQLBNR.s = GetDatabaseString(db, Counter)
Case 1
SQLBelegNr.s = StringField(GetDatabaseString(db, Counter), Counter, "_")
EndSelect
Next
SQL1 ="UPDATE BUCHUNG "
SQL1 = SQL1 + "SET BUCHUNG.BELEGNR =" + SQLBelegNr + " "
SQL1 = SQL1 + "WHERE ((BUCHUNG.BNR)=" + SQLBNR + ");"
If DatabaseQuery(db, SQL1)
Else
MessageRequester("Fehler", "Kann die folgende Abfrage nicht ausführen: "+DatabaseError())
EndIf
Wend
EndIf
EndIf
FinishDatabaseQuery(db)
DBOpenOrClose(1) ;Hier wird eine Procedure aufgerufen (Wert 0 = Datenbank öffnen; Wert 1 = Datenbank schliessen)
Der Code läuft soweit einwandfrei, bis auf, das die While Schleife nur einmal ausgeführt wird, obwohl ich in der der ersten "SQL" Abfrage mehrere Zeilen als Ergebnis habe.
Nachdem die zweite "SQL1" Abfrage ausgeführt wurde, sind alle Inhalte aus der "SQL" Abfrage weg.
Könnte mir hier jemand helfen, ich weis nicht, warum das so ist.
Verstehe ich nicht.
Schon mal vielen Dank für Eure Hilfe.