Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
So führen Sie eine Anweisung direkt und nur einmal aus
Wenn die Anweisung Parametermarkierungen enthält, verwenden Sie SQLBindParameter , um jeden Parameter an eine Programmvariable zu binden. Füllen Sie die Programmvariablen mit Datenwerten aus, und richten Sie dann alle Daten-at-Execution-Parameter ein.
Rufen Sie SQLExecDirect auf, um die Anweisung auszuführen.
Wenn Eingabeparameter für datenbasierte Ausführung verwendet werden, gibt SQLExecDirect SQL_NEED_DATA zurück. Senden Sie die Daten in Datenblöcken mithilfe von SQLParamData und SQLPutData.
So führen Sie eine Anweisung mehrmals mithilfe der Spaltenparameterbindung aus
Rufen Sie SQLSetStmtAttr auf, um die folgenden Attribute festzulegen:
Legen Sie SQL_ATTR_PARAMSET_SIZE auf die Anzahl der Sätze (S) von Parametern fest.
Legen Sie SQL_ATTR_PARAM_BIND_TYPE auf SQL_PARAMETER_BIND_BY_COLUMN fest.
Legen Sie das attribut SQL_ATTR_PARAMS_PROCESSED_PTR so fest, dass es auf eine SQLUINTEGER-Variable zeigt, um die Anzahl der verarbeiteten Parameter zu enthalten.
Legen Sie SQL_ATTR_PARAMS_STATUS_PTR so fest, dass sie auf ein Array[S] von SQLUSSMALLINT-Variablen zeigt, um die Parameterstatusindikatoren aufzunehmen.
Für jede Parametermarkierung:
Weisen Sie ein Array von S-Parameterpuffern zu, um Datenwerte zu speichern.
Weisen Sie ein Array von S-Parameterpuffern zu, um Datenlängen zu speichern.
Rufen Sie SQLBindParameter auf, um den Parameterdatenwert und Datenlängenarrays an den Anweisungsparameter zu binden.
Richten Sie alle Daten zur Ausführung von Text- oder Bildparametern ein.
Fügen Sie S-Datenwerte und S-Datenlängen in die gebundenen Parameterarrays ein.
Rufen Sie SQLExecDirect auf, um die Anweisung auszuführen. Der Treiber führt die Anweisung S-Zeiten effizient aus, einmal für jede Gruppe von Parametern.
Wenn Eingabeparameter für datenbasierte Ausführung verwendet werden, gibt SQLExecDirect SQL_NEED_DATA zurück. Senden Sie die Daten in Datenblöcken mithilfe von SQLParamData und SQLPutData.
So führen Sie eine Anweisung mehrmals mithilfe der Zeilenparameterbindung aus
Weisen Sie ein Array[S] von Strukturen zu, wobei S die Anzahl der Parametersätze ist. Die Struktur verfügt über ein Element für jeden Parameter, und jedes Element besteht aus zwei Teilen:
Der erste Teil ist eine Variable des entsprechenden Datentyps, um die Parameterdaten aufzunehmen.
Der zweite Teil ist eine SQLINTEGER-Variable, die den Statusindikator enthalten soll.
Rufen Sie SQLSetStmtAttr auf, um die folgenden Attribute festzulegen:
Legen Sie SQL_ATTR_PARAMSET_SIZE auf die Anzahl der Sätze (S) von Parametern fest.
Legen Sie SQL_ATTR_PARAM_BIND_TYPE auf die Größe der struktur fest, die in Schritt 1 zugeordnet ist.
Legen Sie das attribut SQL_ATTR_PARAMS_PROCESSED_PTR so fest, dass es auf eine SQLUINTEGER-Variable zeigt, um die Anzahl der verarbeiteten Parameter zu enthalten.
Legen Sie SQL_ATTR_PARAMS_STATUS_PTR so fest, dass sie auf ein Array[S] von SQLUSSMALLINT-Variablen zeigt, um die Parameterstatusindikatoren aufzunehmen.
Rufen Sie für jede Parametermarkierung SQLBindParameter auf, um den Datenwert und den Datenlängenzeiger des Parameters auf ihre Variablen im ersten Element des Arrays der in Schritt 1 zugewiesenen Strukturen zu verweisen. Wenn der Parameter ein Data-at-execution-Parameter ist, richten Sie ihn ein.
Füllen Sie das gebundene Parameterpufferarray mit Datenwerten aus.
Rufen Sie SQLExecDirect auf, um die Anweisung auszuführen. Der Treiber führt die Anweisung S-Zeiten effizient aus, einmal für jede Gruppe von Parametern.
Wenn Eingabeparameter für datenbasierte Ausführung verwendet werden, gibt SQLExecDirect SQL_NEED_DATA zurück. Senden Sie die Daten in Datenblöcken mithilfe von SQLParamData und SQLPutData.
Anmerkung Spaltenweise und zeilenweise Bindung werden in der Regel in Verbindung mit DER SQLPrepare-Funktion und SQLExecute als mit SQLExecDirect verwendet.
Siehe auch
Ausführen von Themen mit Vorgehensweisen für Abfragen (ODBC)