Share via


Binden von Spalten für die Verwendung mit Blockcursorn

Da Blockcursor mehrere Zeilen zurückgeben, müssen Anwendungen, die sie verwenden, ein Array von Variablen an jede Spalte statt an eine einzelne Variable binden. Diese Arrays werden gemeinsam als Rowsetpuffer bezeichnet. Im Folgenden sind die beiden Bindungsstile aufgeführt:

  • Binden Sie ein Array an jede Spalte. Dies wird als spaltenweise Bindung bezeichnet, da jede Datenstruktur (Array) Daten für eine einzelne Spalte enthält.

  • Definieren Sie eine Struktur, die die Daten für eine ganze Zeile enthält, und binden Sie ein Array dieser Strukturen. Dies wird als zeilenweise Bindung bezeichnet, da jede Datenstruktur die Daten für eine einzelne Zeile enthält.

Wenn die Anwendung einzelne Variablen an Spalten bindet, ruft sie SQLBindCol auf, um Arrays an Spalten zu binden. Der einzige Unterschied besteht darin, dass die übergebenen Adressen Arrayadressen und keine einzelnen Variablenadressen sind. Die Anwendung legt das attribut der SQL_BIND_BY_COLUMN-Anweisung fest, um anzugeben, ob sie spaltenweise oder zeilenweise Bindung verwendet. Ob spaltenweise oder zeilenweise Bindung verwendet werden soll, ist weitgehend eine Frage der Anwendungspräferenz. Zeilenweise Bindung kann dem Layout der Anwendung mit Daten enger entsprechen, in diesem Fall würde sie eine bessere Leistung bieten.

In diesem Abschnitt werden die folgenden Themen behandelt: