Freigeben über


Zurückgestellte Puffer

Ein verzögerter Puffer ist ein Puffer, dessen Wert zu einem bestimmten Zeitpunkt verwendet wird , nachdem Sie ihn in einem Funktionsaufruf angegeben haben. Beispielsweise verwenden Sie SQLBindParameter zum Zuordnen oder Binden eines Datenpuffers mit einem Parameter in einer SQL-Anweisung. Sie geben die Nummer des Parameters an und übergeben die Adresse, die Bytelänge und den Typ des Puffers. Der Treiber speichert diese Informationen, untersucht jedoch nicht den Inhalt des Puffers. Wenn Sie die Anweisung später ausführen, ruft der Treiber die Informationen ab und verwendet diese, um die Parameterdaten abzurufen und an die Datenquelle zu senden. Daher wird die Eingabe von Daten im Puffer zurückgestellt. Da verzögerte Puffer in einer Funktion angegeben und in einer anderen verwendet werden, ist es ein Anwendungsprogrammierungsfehler, um einen verzögerten Puffer frei zu geben, während der Treiber weiterhin erwartet, dass er vorhanden ist. Weitere Informationen finden Sie weiter unten in diesem Abschnitt unter Allocating and Freeing Buffers.

Verzögerte Puffertypen

Sowohl Eingabe- als auch Ausgabepuffer können zurückgestellt werden. In der folgenden Tabelle werden die Verwendung von verzögerten Puffern zusammengefasst. Beachten Sie, dass verzögerte Puffer, die an Resultsetspalten gebunden sind, mit SQLBindCol angegeben werden und verzögerte Puffer, die an SQL-Anweisungsparameter gebunden sind, mit SQLBindParameter angegeben werden.

Pufferverwendung type Angegeben mit Verwendet von
Senden von Daten für Eingabeparameter Verzögerte Eingabe SQLBindParameter SQLExecute
SQLExecDirect
Senden von Daten zum Aktualisieren oder Einfügen einer Zeile in ein Resultset Verzögerte Eingabe SQLBindCol SQLSetPos
SQLBulkOperations
Zurückgeben von Daten für Ausgabe- und Eingabe-/Ausgabeparameter Verzögerte Ausgabe SQLBindParameter SQLExecute
SQLExecDirect
Zurückgeben von Resultsetdaten Verzögerte Ausgabe SQLBindCol SQLFetch
SQLFetchScroll SQLSetPos