OdbcFetch
obj -> OdbcFetch([int1]) : int
Zeile der Ergebnismenge lesen
Details
- obj: Deskriptor auf ein ODBC-Statement-, -Tabellen- oder -Spalten-Objekt
- int1: reserviert, muss
0sein - Resultat:
intFehlerwert - Siehe: Verwandte Befehle ,
OdbcExecute (),OdbcExecuteDirect (),OdbcCatalogTbl (),OdbcCatalogClm ()
Die Anweisung positioniert auf die nächste Zeile der Ergebnismenge. Wurde in der Ergebnismenge noch nicht gelesen, wird die erste Zeile gelesen. Die Ergebnismenge kann durch die Anweisungen OdbcCatalogTbl (), OdbcCatalogClm (), OdbcExecute () oder OdbcExecuteDirect () erzeugt worden sein. Der Deskriptor des entsprechenden Objekts muss als (obj) übergeben werden.
Der optionale Parameter (int1) wird für zukünftige Erweiterungen benötigt und sollte nicht verwendet werden. Wird ein Wert angegeben, muss er 0 sein.
Die Anweisung kann folgende Werte zurückgeben:
_ErrOkDie Anweisung wurde erfolgreich durchgeführt. Die entsprechenden Informationen stehen in den Eigenschaften des übergebenen Objekts zur Verfügung. Soll die Ergebnismenge nach der Durchführung eines ODBC-Statements gelesen werden, können Informationen über die Spalten mit der AnweisungOdbcClmInfo ()und die Werte mitOdbcClmData ()ausgelesen werden._ErrOdbcNoDataIn der Ergebnismenge konnte nicht auf die nächste oder erste Zeile positioniert werden. Es liegen keine (weiteren) Daten vor._ErrOdbcErrorBeim Positionieren auf eine Zeile der Ergebnismenge ist es zu einem Fehler gekommen. Weitere Informationen zu dem Fehler können in denOdbcErr...-Eigenschaften des übergebenen Objekts ermittelt werden.
Beispiel:
// Abfrage durchführen
tOdbcStm # tOdbcCon->OdbcExecuteDirect('INSERT INTO Customer (ID,NAME) VALUES (1000,''vectorsoft AG'')');
if (tOdbcStm > 0)
{
// Anzahl der gefundenen Spalten ermitteln
tColumnCount # tOdbcStm->spOdbcResCountClm;
// Alle ermittelten Datensätze ermitteln
while (tOdbcStm->OdbcFetch() = _ErrOk)
{
// Alle Spalten durchgehen
for tColumnNo # 1;
loop Inc(tColumnNo);
while (tColumnNo <= tColumnCount)
{
// ...
}
}
}
Mögliche Laufzeitfehler:
_ErrHdlInvalid: Im (obj) wurde kein gültiger Deskriptor auf ein zulässiges Objekt übergeben.