Zum Hauptinhalt springen

OdbcFetch

obj -> OdbcFetch([int1]) : int

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von der DLL-Schnittstelle mit grafischer Erweiterung Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service mit grafischer Erweiterung

Zeile der Ergebnismenge lesen

Details

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:

  • _ErrOk 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.
  • _ErrOdbcNoData In der Ergebnismenge konnte nicht auf die nächste oder erste Zeile positioniert werden. Es liegen keine (weiteren) Daten vor.
  • _ErrOdbcError 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.