SqliteQueryOpen

value SqliteQueryOpen ( value dxSqlite, value BYREF rxQuery, string strSqlSelect, string/value BYREF Arg... );

Rückgabewert

Rückgabewert

Beschreibung

0

Das Abfrage-Objekt rxQuery wurde erfolgreich geöffnet.

-1

Beim Öffnen des Abfrage-Objekts rxQuery ist ein Fehler aufgetreten.

Der Fehlertext kann mit SqliteGetLastError ausgelesen werden..

Parameter

dxSqlite

Das erfolgreich geöffnete SQLite Datenbank-Objekt, an dem ein Abfrage-Objekt geöffnet werden soll.

rxQuery

Die Variable, die mit dem erzeugten Abfrage-Objekt geladen wird. Nachfolgenden SqliteQuery...-Aufrufen ist das Abfrage-Objekt rxQuery zu übergeben.

strSqlSelect

Eine SQL-Anweisung, die angibt, welche Datensätze das Abfrage-Objekt enthalten soll.

Arg

Werden Argumente übergeben, so werden diese in die Formatvorlage strSqlSelect eingearbeitet, bevor die SQL-Anweisung ausgeführt wird.
Eine detailliertere Beschreibung zu Formatanweisungen ist unter Printf zu finden.

Bemerkung

Erzeugt das Abfrage-Objekt rxQuery in der SQLite Datenbank dxSqlite entsprechend der SQL-Anweisung strSqlSelect. Ein nicht weiter benutztes Abfrage-Objekt ist mit einem SqliteQueryClose zu schließen. Wird SqliteQueryOpen mit einem bereits geöffneten Abfrage-Objekt aufgerufen, so schließt der SqliteQueryOpen Aufruf dieses Abfrage-Objekt selbstständig.

Es ist zu beachten, dass nach einem SqliteQueryOpen noch keine lesbarer Datensatz zur Verfügung steht. D.h. erst mithilfe eines nachfolgenden SqliteQueryNext kann festgestellt werden, ob die Abfrage überhaupt einen Datensatz als Resultat liefert - wenn ja, dann ist der erste Datensatz mit dem SqliteQueryNext Aufruf schon geladen worden.

Beispiele


if (SqliteDatabaseOpen(dxSqlite, "c:\data.sqlite"))
    return (SqliteGetLastError(strLastSqliteError));
end
if (SqliteQueryOpen(dxSqlite, rxQuery, "select Count, Weight from DoneOrders"))
    return (SqliteGetLastError(strLastSqliteError));
endvalue count, sumCount = 0;
value weight, sumWeight = 0;
while (!SqliteQueryNext(rxQuery, count, weight))
    sumCount += count;
    sumWeight += weight;
endSqliteQueryClose(rxQuery);
 

Siehe auch SqliteDatabaseOpen, SqliteDatabaseClose, SqliteExecute, SqliteQuery, SqliteQueryNext, SqliteQueryGetValue, SqliteQueryClose, SqliteGetLastError