OdbcFetch
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:
-
Die 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 Anweisung ``OdbcClmInfo
()und die Werte mit OdbcClmData()ausgelesen werden. -
In der Ergebnismenge konnte nicht auf die nächste oder erste Zeile positioniert werden. Es liegen keine (weiteren) Daten vor.
-
Beim Positionieren auf eine Zeile der Ergebnismenge ist es zu einem Fehler gekommen. Weitere Informationen zu dem Fehler können in den
OdbcErr...-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.