Freigeben über


Spaltendaten

Wichtig

Dieses Feature wird in einer zukünftigen Version von Windows entfernt. Vermeiden Sie die Verwendung dieses Features in neuen Entwicklungsvorgängen, und planen Sie das Ändern von Anwendungen, die dieses Feature derzeit verwenden. Microsoft empfiehlt die Verwendung der Cursorfunktion des Treibers.

Die Cursorbibliothek erstellt einen Puffer im Cache für jeden Datenpuffer, der mit SQLBindCol an das Resultset gebunden ist. Es verwendet die Werte in diesen Puffern, um eine WHERE-Klausel zu erstellen, wenn eine positionierte Update- oder Delete-Anweisung emuliert wird. Es aktualisiert diese Puffer aus den Rowsetpuffern, wenn Daten aus der Datenquelle abgerufen werden und wenn positionierte Updateanweisungen ausgeführt werden.

Wenn die Cursorbibliothek ihren Cache aus den Rowsetpuffern aktualisiert, überträgt sie die Daten gemäß dem in SQLBindCol angegebenen C-Datentyp. Wenn beispielsweise der C-Datentyp eines Rowsetpuffers SQL_C_SLONG ist, überträgt die Cursorbibliothek vier Bytes an Daten. wenn es SQL_C_CHAR und BufferLength den Wert 10 aufweist, überträgt die Cursorbibliothek 10 Byte an Daten. Die Cursorbibliothek führt keine Typüberprüfungen oder Konvertierungen für die übertragenen Daten durch.

Hinweis

Die Cursorbibliothek aktualisiert ihren Cache für eine Spalte nicht, wenn *StrLen_or_IndPtr im entsprechenden Rowsetpuffer SQL_DATA_AT_EXEC oder das Ergebnis des SQL_LEN_DATA_AT_EXEC-Makros ist.

Wenn eine Spalte aktualisiert wird, werden in einer Datenquelle bei Bedarf Leerzeichendaten mit fester Länge und Binärdaten mit fester Länge mit Nullpads angezeigt. Beispielsweise speichert eine Datenquelle "Smith" in einer CHAR(10)-Spalte als "Smith". Die Cursorbibliothek verwendet keine Leerenpad- oder Nullpaddaten in den Rowsetpuffern, wenn sie diese Daten nach dem Ausführen einer positionierten Update-Anweisung in ihren Cache kopiert. Wenn eine Anwendung daher erfordert, dass die Werte im Cache der Cursorbibliothek leer oder null aufgefüllt sind, muss sie die Werte in den Rowsetpuffern leer oder auffüllen, bevor eine positionierte Update-Anweisung ausgeführt wird.