Verwenden einer Anweisung (ODBC)
So verwenden Sie eine Anweisung
Rufen Sie SQLAllocHandle mit dem HandleType SQL_HANDLE_STMT auf, um ein Anweisungshandle zuzuordnen.
Rufen Sie optional SQLSetStmtAttr auf, um Anweisungsoptionen festzulegen, oder 'SQLGetStmtAttr', um Anweisungsattribute abzurufen.
Um Servercursor zu verwenden, müssen Sie die Cursorattribute auf Werte setzen, die von den Standardwerten abweichen.
Bereiten Sie optional die Anweisung mit der SQLPrepare-Funktion auf die Ausführung vor, wenn die Anweisung mehrmals ausgeführt wird.
Binden Sie optional mit SQLBindParameter die Parametermarkierungen an Programmvariablen, wenn die Anweisung über gebundene Parametermarkierungen verfügt. Wenn die Anweisung vorbereitet wurde, können Sie SQLNumParams und SQLDescribeParam aufrufen, um die Nummer und die Eigenschaften der Parameter zu suchen.
Führen Sie eine Anweisung direkt mit SQLExecDirect aus.
- oder -
Wenn die Anweisung vorbereitet wurde, führen Sie sie mehrmals mit SQLExecute aus.
- oder -
Rufen Sie eine Katalogfunktion auf, die Ergebnisse zurückgibt.
Verarbeiten Sie die Ergebnisse, indem Sie die Resultset-Spalten an Programmvariablen binden, indem Sie Daten mit SQLGetData oder einer Kombination der beiden Methoden aus den Resultset-Spalten zu Programmvariablen verschieben.
Rufen Sie eine Zeile nach der anderen über das Resultset einer Anweisung ab.
- oder -
Rufen Sie mehrere Zeilen gleichzeitig über das Resultset mithilfe eines Blockcursors ab.
- oder -
Rufen Sie SQLRowCount auf, um die Anzahl der Zeilen, die von einer INSERT-, UPDATE- oder DELETE-Anweisung betroffen sind, zu bestimmen.
Wenn die SQL-Anweisung über mehrere Resultsets verfügen kann, rufen Sie am Ende des Resultsets SQLMoreResults auf, um zu überprüfen, ob zusätzliche Resultsets verarbeitet werden müssen.
Nachdem die Ergebnisse verarbeitet wurden, müssen möglicherweise die folgenden Aktionen ausgeführt werden, um das Anweisungshandle zum Ausführen einer neuen Anweisung verfügbar zu machen.
Wenn Sie SQLMoreResults nicht aufgerufen haben, bis SQL_NO_DATA zurückgegeben wurde, rufen Sie 'SQLCloseCursor' auf, um den Cursor zu schließen.
Wenn Sie Parametermarkierungen an Programmvariablen gebunden haben, rufen Sie 'SQLFreeStmt' auf, wobei Option auf SQL_RESET_PARAMS gesetzt ist, um die gebundenen Parameter freizugeben.
Wenn Sie Resultset-Spalten an Programmvariablen gebunden haben, rufen Sie 'SQLFreeStmt' auf, wobei Option auf SQL_UNBIND gesetzt ist, um die gebundenen Spalten freizugeben.
Gehen Sie zu Schritt 2, um das Anweisungshandle wiederzuverwenden.
Rufen Sie SQLFreeHandle mit dem HandleType SQL_HANDLE_STMT auf, um das Anweisungshandle wieder freizugeben.