Habe folgendes Problem mit dem Embedded Code, hoffe jemand kann helfen.
Erstmal der Code:
Code:
#include <stdio.h>
#include <string.h>
#include <sqlenv.h>
EXEC SQL INCLUDE SQLCA;
int main()
{
EXEC SQL BEGIN DECLARE SECTION;
char knr[6], nam[21], rnr[7], von[11], hot[21], kurs[21];
EXEC SQL END DECLARE SECTION;
EXEC SQL CONNECT TO DATABASE;
printf("Aufgabe:\n\n");
EXEC SQL DECLARE CUR1 CURSOR FOR
Hier steht normalerweise die SQL Abfrage;
EXEC SQL OPEN CUR1;
while (SQLCODE == 0)
{
EXEC SQL FETCH CUR1 INTO :knr, :nam, :rnr, :von, :hot, :kurs;
printf("Kundennummer: %s\n"
"Name: %s\n"
"Reisenummer: %s\n"
"Reisedatum: %s\n"
"Hotel: %s\n"
"Kurs: %s\n\n", knr, nam, rnr, von, hot, kurs);
}
EXEC SQL CONNECT RESET;
return 0;
}
Die while schleife gibt den letzten Datensatz aus der DB 2 mal raus anstatt nur einmal.
Also es sollen 2 Datensätze angezeigt werden aber der letzte wird 2 mal angezeigt.
Wo der fehler liegen könnte weiß ich selber nicht, hab den schon gesucht aber net gefunden.
Ohne Embedded SQL, also wenn ich die Abfrage normal ausführe gibt er mir nur 2 Datensätze raus, was auch richtig ist.
Das problem taucht wie gesagt nur im Embedded SQL auf.
Greetz
Cristok
Zuletzt bearbeitet: