Teilen über


Festlegen von Deskriptorfeldern

Um die Felder eines Deskriptors zu ändern, kann eine Anwendung SQLSetDescField aufrufen. Einige Felder sind schreibgeschützt und können nicht festgelegt werden. (Siehe Beschreibung der SQLSetDescField-Funktion .)

Deskriptor-Datensatzfelder werden mit einer Datensatznummer (RecNumber) von 1 oder höher festgelegt, während Deskriptorkopffelder mit einer Datensatznummer von 0 festgelegt werden. Eine Datensatznummer von 0 wird auch zum Festlegen von Textmarkenfeldern verwendet, gemäß der Konvention, dass Lesezeichen in Spalte 0 enthalten sind. Dies kann den Eindruck hinterlassen, dass Lesezeichenfelder in der Kopfzeile des Deskriptors enthalten sind, dies ist jedoch nicht der Fall. Textmarkenfelder unterscheiden sich von Kopfzeilenfeldern.

Wenn Felder einzeln festgelegt werden, sollte die Anwendung der in SQLSetDescField definierten Sequenz folgen. Das Festlegen einiger Felder bewirkt, dass der Treiber andere Felder festlegt. Dadurch wird sichergestellt, dass der Deskriptor immer einsatzbereit ist, nachdem die Anwendung einen Datentyp angegeben hat. Wenn die Anwendung das feld SQL_DESC_TYPE festlegt, überprüft der Treiber, ob andere Felder, die den Typ angeben, gültig und konsistent sind.

Wenn ein Funktionsaufruf, der ein Deskriptorfeld festlegen würde, fehlschlägt, werden die Inhalte des Deskriptorfelds nach dem Aufruf der fehlgeschlagenen Funktion nicht definiert.