Mit der SELECT-Anweisung können Sie Informationen aus der Datenbank abrufen. Wenn Sie eine SELECT-Anweisung ausführen, gibt die PreparedStatement.ExecuteQuery-Methode ein ResultSet-Objekt zurück. Siehe ExecuteQuery-Methode.
Deklarieren Sie die erforderlichen Variablen mit dem folgenden Code:
ULPreparedStatement * prepStmt; ULResultSet * resultSet; |
Bereiten Sie eine SQL-Anweisung für die Ausführung vor.
Der folgende Code bereitet eine SELECT-Anweisung für die Ausführung vor:
prepStmt = conn->PrepareStatement("SELECT MyColumn1 FROM MyTable"); |
Prüfen Sie bei der Vorbereitung der Anweisung, ob Fehler auftreten.
Beispiel: Der folgende Code ist nützlich, wenn Sie eine Prüfung auf SQL-Syntaxfehler vornehmen:
if( prepStmt == NULL ) { const ULError * ulerr; ulerr = conn->GetLastError(); // write code to handle the error return; } |
Führen Sie die SQL-Anweisung aus und geben Sie ein Ergebnismengenobjekt zurück, das verwendet werden kann, um auf die Ergebnisse der Abfrage zuzugreifen.
resultSet = prepStmt->ExecuteQuery(); if( resultSet == NULL ) { const ULError * ulerr; ulerr = conn->GetLastError(); // write code to handle the error prepStmt->Close(); return; } |
Durchlaufen Sie die Zeilen mithilfe der Next-Methode. Speichern Sie das Ergebnis als Zeichenfolge in einem Puffer.
Die Next-Methode bewegt den Cursor in die nächste Zeile der Ergebnismenge. Das ULResultSet-Objekt ist auf einer Zeile positioniert, wenn der Aufruf True zurückgibt. Sonst gilt: Wenn der Aufruf False zurückgibt, wurden alle Zeilen durchlaufen.
while( resultSet->Next() ) { char buffer[ 100 ]; resultSet->GetString( 1, buffer, 100 ); printf( "MyColumn = %s\n", buffer ); } |
Bereinigen Sie die Ressourcen der vorbereiteten Anweisung und des Ergebnismengeobjekts.
Auf das Objekt der vorbereiteten Anweisung darf nicht zugegriffen werden, nachdem die Close-Methode aufgerufen wurde.
resultSet->Close(); prepStmt->Close(); |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |