Share via


Standardmäßige C-Datentypen

Wenn eine Anwendung SQL_C_DEFAULT in SQLBindCol, SQLGetData oder SQLBindParameter angibt, geht der Treiber davon aus, dass der C-Datentyp des Ausgabe- oder Eingabepuffers dem SQL-Datentyp der Spalte oder des Parameters entspricht, an die der Puffer gebunden ist.

Wichtig

Interoperable Anwendungen sollten keine SQL_C_DEFAULT verwenden. Stattdessen sollten sie immer den Typ C des verwendeten Puffers angeben. Dies liegt daran, dass Treiber den Standardtyp C aus den folgenden Gründen nicht immer ordnungsgemäß bestimmen können:

  • Wenn das DBMS einen SQL-Datentyp einer Spalte oder eines Parameters hergibt, kann der Treiber den ursprünglichen SQL-Datentyp einer Spalte oder eines Parameters nicht ermitteln. Daher kann der entsprechende C-Standarddatentyp nicht bestimmt werden.

  • Wenn der Treiber nicht ermitteln kann, ob eine bestimmte Spalte oder ein bestimmter Parameter signiert ist, wie dies häufig der Fall ist, wenn dies vom DBMS behandelt wird, kann der Treiber nicht bestimmen, ob der entsprechende C-Standarddatentyp signiert oder nicht signiert werden soll.

    Da SQL_C_DEFAULT nur als Programmierfreundlichkeit bereitgestellt wird, verliert die Anwendung keine Funktionalität, wenn sie den tatsächlichen C-Datentyp angibt.

Eine Tabelle mit dem Standarddatentyp C für jeden SQL-Datentyp ist in Konvertieren von Daten aus SQL in C-Datentypen weiter unten in diesem Anhang enthalten.