Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Programmierung » ODBC-Unterstützung » SQL-Anweisungen ausführen

 

Anweisungen direkt ausführen

Mit der Funktion SQLExecDirect wird eine SQL-Anweisung vorbereitet und ausgeführt. Die Anweisung kann auch Parameter enthalten.

Das folgende Codefragment veranschaulicht, wie eine Anweisung ohne Parameter ausgeführt wird. Die Funktion SQLExecDirect verwendet ein Anweisungs-Handle, eine SQL-Zeichenfolge und eine Länge bzw. ein Abschlusszeichen (in diesem Fall ein Zeichenfolgeindikator mit Null-Abschlusszeichen).

Das in diesem Abschnitt beschriebene Verfahren ist zwar einfach, aber unflexibel. Die Anweisung kann keine Benutzereingabe zur Änderung der Anweisung annehmen. Flexiblere Methoden zum Aufbau von Anweisungen finden Sie unter Anweisungen mit gebundenen Parametern ausführen.

 ♦  So wird eine SQL-Anweisung in einer ODBC-Anwendung ausgeführt
  1. Der Anweisung mit SQLAllocHandle ein Handle zuweisen.

    Mit der folgenden Anweisung wird z.B. auf einer Verbindung mit dem Handle SQL_HANDLE_STMT ein Handle vom Typ stmt mit dem Namen dbc zugewiesen:

    SQLAllocHandle( SQL_HANDLE_STMT, dbc, &stmt );
  2. Funktion SQLExecDirect aufrufen und die Anweisung ausführen:

    Mit den folgenden Zeilen wird z.B. eine Anweisung deklariert und ausgeführt. Die Deklaration von deletestmt würde normalerweise am Anfang der Funktion auftreten:

    SQLCHAR deletestmt[ STMT_LEN ] =
      "DELETE FROM Departments WHERE DepartmentID = 201";
    SQLExecDirect( stmt, deletestmt, SQL_NTS) ;

Ein vollständiges Beispiel mit Fehlerprüfung finden Sie unter Beispielverzeichnis\SQLAnywhere\ODBCExecute\odbcexecute.cpp.

Weitere Hinweise zu SQLExecDirect finden Sie unter "SQLExecDirect" in der Microsoft-Dokumentation ODBC API Reference unter [external link] http://msdn.microsoft.com/en-us/library/ms713611.aspx.