P
Hi, erstnochmal vielen Dank für deine Bemühungen.
Hier ist erstmal mein Source Code:
void ODBCZugriff::getprofile(int kontrollnummer)
{
if (kontrollnummer==0) // Zum ersten Mal hohlen und damit Initialisieren
{
string ausfuehren="SELECT `Index`,`Fahrzeug`,`Bezeichner`,`weiterer Bezeichner`, `Pfad des Bildes` from profile ORDER BY `Index` ASC";
directexec(ausfuehren);
SDWORD var1,var2,var3,var4,var5;
SQLBindCol(hstmt, 1, SQL_C_SLONG, (PTR)&p_Index, sizeof(p_Index), &var1);
SQLBindCol(hstmt, 2, SQL_C_CHAR, p_Fahrzeug, 30, &var2);
SQLBindCol(hstmt, 3, SQL_C_CHAR, p_Bezeichner, 30, &var3);
SQLBindCol(hstmt, 4, SQL_C_CHAR, p_weiterer, 30, &var4);
SQLBindCol(hstmt, 5, SQL_C_CHAR, p_pfad, 100, &var5);
MoveSet();
}
if (kontrollnummer==1)
{ // weitermachen, Sprung auf nächsten Zeile
MoveSet();
}
}
void ODBCZugriff::getreferrenzen(int kontrollnummer)
{
if (kontrollnummer==0) // Zum ersten Mal hohlen und damit Initialisieren
{
string ausfuehren="SELECT `Index`,`Referrenzschluessel` from referrenzen ORDER BY `Index` ASC";
directexec(ausfuehren);
SDWORD var1,var2;
SQLBindCol(hstmt, 1, SQL_C_SLONG, (PTR)&r_Index, sizeof(r_Index), &var1);
SQLBindCol(hstmt, 2, SQL_C_CHAR, r_referrenzschluessel, 30, &var2);
MoveSet();
}
if (kontrollnummer==1)
{ // weitermachen, Sprung auf nächsten Zeile
MoveSet();
}
}
void ODBCZugriff::MoveSet()
{
SQLFetch(hstmt);
}
es geht um die beide Funktionen, getreferrenzen und getprofile.
jetzt nochmal ein beispiel wie ich sie aufrufe.
So kommt es nicht zum Fehler da ich sie nacheinander alle durchlaufe.
ODBCZugriff dd;
dd.getprofile(0);
// jetzt werden die Variablen umgespeichert. Die vom 1. Datensatz
dd.getprofile(0);
// jetzt werden die Variablen umgespeichert. Die vom 2. Datensatz
dd.getreferrenzen(0);
// jetzt werden die Variablen umgespeichert. Die vom 1. Datensatz
dd.getreferrenzen(1);
// jetzt werden die Variablen umgespeichert. Die vom 2. Datensatz
und so kommt es zum Fehler:
ODBCZugriff dd;
dd.getprofile(0);
// jetzt werden die Variablen umgespeichert. Die vom 1. Datensatz
dd.getreferrenzen(0);
// jetzt werden die Variablen umgespeichert. Die vom 1. Datensatz
dd.getprofile(1);
// jetzt werden die Variablen umgespeichert. Die vom 2. Datensatz
dd.getreferrenzen(1);
// jetzt werden die Variablen umgespeichert. Die vom 2. Datensatz
Beim 2. Beispiel kommt er mit der Reihenfolge durcheinander, weil der Hstmt bereits anders initialisert wurden. Desshalb fragte ich ob es eine Möglichkeit
gibt ihn zwischenzuspeichern.