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.
Eine Anwendung kann vor oder nach der Ausführung einer SQL-Anweisung Speicher für Ergebnisse zuweisen. Wenn eine Anwendung die SQL-Anweisung zuerst vorbereitet oder ausführt, kann sie sich über das Resultset erkundigen, bevor sie Speicher für Ergebnisse zuweist. Wenn das Resultset beispielsweise unbekannt ist, muss die Anwendung die Anzahl der Spalten abrufen, bevor sie Speicherplatz für sie zuweisen kann.
Zum Zuordnen des Speichers für eine Datenspalte ruft eine Anwendung SQLBindColauf und übergibt sie:
Der Datentyp, in den die Daten konvertiert werden sollen.
Die Adresse eines Ausgabepuffers für die Daten.
Die Anwendung muss diesen Puffer zuweisen, und sie muss groß genug sein, um die Daten in dem Formular zu enthalten, in das sie konvertiert wird.
Die Länge des Ausgabepuffers.
Dieser Wert wird ignoriert, wenn die zurückgegebenen Daten eine feste Breite in C aufweisen, z. B. eine ganze Zahl, eine reelle Zahl oder eine Datumsstruktur.
Die Adresse eines Speicherpuffers, in dem die Anzahl der bytes verfügbaren Daten zurückgegeben werden soll.
Eine Anwendung kann auch Resultsetspalten an Arrays von Programmvariablen binden, um das Abrufen von Resultsetzeilen in Blöcken zu unterstützen. Es gibt zwei verschiedene Arten von Arraybindung:
Die spaltenweise Bindung ist abgeschlossen, wenn jede Spalte an ein eigenes Array von Variablen gebunden ist.
Spaltenweise Bindung wird durch Aufrufen von SQLSetStmtAttr mit Attribut festgelegt auf SQL_ATTR_ROW_BIND_TYPE und ValuePtr auf SQL_BIND_BY_COLUMN angegeben. Alle Arrays müssen dieselbe Anzahl von Elementen aufweisen.
Die Zeilenweise-Bindung ist abgeschlossen, wenn alle Parameter in der SQL-Anweisung als Einheit an ein Array von Strukturen gebunden werden, die die einzelnen Variablen für die Parameter enthalten.
Zeilenweise Bindung wird durch Aufrufen von SQLSetStmtAttr mit Attribut auf SQL_ATTR_ROW_BIND_TYPE und ValuePtr auf die Größe der Struktur festgelegt, die die Variablen enthält, die die Resultsetspalten empfangen.
Die Anwendung legt außerdem SQL_ATTR_ROW_ARRAY_SIZE auf die Anzahl der Elemente in den Spalten- oder Zeilenarrays fest und legt SQL_ATTR_ROW_STATUS_PTR und SQL_ATTR_ROWS_FETCHED_PTR fest.