Der FoxPro-Kompatible Skriptinterpreter
🔎
Newsletter
Der FoxPro-Kompatible Skriptinterpreter

sqlmoreresults

sqlmoreresults(SqlHandle AS Integer, [AliasName AS String]) AS Integer


Ruft das nächste Ergebnis ab.

Mit der Funktion können weitere Ergebnisse aus einer Abfrage abgerufen werden, falls eine Abfrage ausgeführt wurde, die mehr als ein Ergebnis produziert. Der Rückgabewert der sqlexec-Funktion deutet darauf hin, wie viele Ergebnisse insgesamt abgerufen werden können.

Parameter SqlHandle

Das SqlHandle auf dem eine Abfrage ausgeführt wurde und aus welchem weitere Ergebnisse abgerufen werden sollen.

Parameter AliasName

Der Aliasname des Arbeitsbereiches in dem das Ergebnis abgespeichert werden soll. Wenn der Parameter nicht angegeben wird, wird der Aliasname "sqlresult" verwendet. Wenn der Aliasname bereits in Verwendung ist, wird der vorhandene Arbeitsbereich vorher automatisch geschlossen.

Rückgabewert

Der Rückgabewert kann die folgenden Werte annehmen:

0 Die Ausführung der Abfrage ist noch nicht abgeschlossen (Nicht implementiert)
1 Es wurde ein neues Ergebnis wie gewünscht bereitgestellt
2 Es ist kein weiteres Ergebnis mehr verfügbar
-1 Es ist ein Fehler aufgetreten. Der genaue Fehler kann mit aerror() abgerufen werden

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
*!* Ruft mehrere Ergebnisse von einer Datenquelle,
*!* an, und gibt alle Daten auf dem Bildschirm aus
LOCAL conn, anz_result, i, query
conn = sqlconnect("datasource_name")
ASSERT conn > 0

SET TEXTMERGE ON TO MEMVAR query NOSHOW
\SELECT a FROM table1;
\SELECT a FROM table2;
\SELECT a FROM table3;
SET TEXTMERGE TO

anz_result= sqlexec(conn, query, "erg")
ASSERT anz_result == 3

FOR i = 1 to anz_result
  SELECT erg
  DO WHILE !eof()
    ? a
    SKIP
  ENDDO
  sqlmoreresults(conn, "erg")
  ASSERT anz_result == 1
ENDFOR