Freigeben über


Änderungen des Datentyps „datetime“

In ODBC 3.x haben sich die Bezeichner für Datums-, Uhrzeit- und Zeitstempel-SQL-Datentypen von SQL_DATE, SQL_TIME und SQL_TIMESTAMP (mit Instanzen von #define in der Headerdatei von 9, 10 und 11) in SQL_TYPE_DATE, SQL_TYPE_TIME und SQL_TYPE_TIMESTAMP (mit Instanzen von #define in der Headerdatei von 91, 92 bzw. 93) Die entsprechenden C-Typbezeichner wurden von SQL_C_DATE, SQL_C_TIME und SQL_C_TIMESTAMP in SQL_C_TYPE_DATE, SQL_C_TYPE_TIME bzw. SQL_C_TYPE_TIMESTAMP geändert.

Die Spaltengröße und dezimale Ziffern, die für die SQL-Datetime-Datentypen in ODBC 3.x zurückgegeben werden, entsprechen der Genauigkeit und skalierung, die in ODBC 2.x zurückgegeben wird. Diese Werte unterscheiden sich von den Werten in den Feldern SQL_DESC_PRECISION und SQL_DESC_SCALE Deskriptor. (Weitere Informationen finden Sie unter Spaltengröße, Dezimalziffern, Länge des Oktetts übertragen und Anzeigegröße.)

Diese Änderungen wirken sich auf SQLDescribeCol, SQLDescribeParam und SQLColAttribute aus. SQLBindCol, SQLBindParameter und SQLGetData; und SQLColumns, SQLGetTypeInfo, SQLProcedureColumns, SQLStatistics und SQLSpecialColumns.

Die folgende Tabelle zeigt, wie der ODBC 3.x-Treiber-Manager die Zuordnung der Datentypen Datum, Uhrzeit und Zeitstempel C ausführt, die in den TargetType-Argumenten von SQLBindCol und SQLGetData oder im ValueType-Argument von SQLBindParameter eingegeben wurden.

Datentyp

eingegebener Code
2.x-App zu

2.x-Treiber
2.x-App zu

3.x-Treiber
3.x-App zu

2.x-Treiber
3.x-App zu

3.x-Treiber
SQL_C_DATE (9) Keine Zuordnung SQL_C_TYPE_DATE (91) Keine Zuordnung[1] SQL_C_TYPE_DATE (91)
SQL_C_TYPE_DATE (91) Fehler (von DM) Fehler (von DM) SQL_C_DATE (9) Keine Zuordnung[2]
SQL_C_TIME (10) Keine Zuordnung SQL_C_TYPE_TIME (92) Keine Zuordnung[1] SQL_C_TYPE_TIME (92)
SQL_C_TYPE_TIME (92) Fehler (von DM) Fehler (von DM) SQL_C_TIME (10) Keine Zuordnung[2]
SQL_C_TIMESTAMP (11) Keine Zuordnung SQL_C_TYPE_TIMESTAMP (93) Keine Zuordnung[1] SQL_C_TYPE_TIMESTAMP (93)
SQL_C_TYPE_TIMESTAMP (93) Fehler (von DM) Fehler (von DM) SQL_C_TIMESTAMP (11) Keine Zuordnung[2]

[1] Daher kann eine ODBC 3.x-Anwendung, die mit einem ODBC 2.x-Treiber arbeitet, die Datums-, Uhrzeit- oder Zeitstempelcodes verwenden, die in den Resultsets zurückgegeben werden, die von den Katalogfunktionen zurückgegeben werden.

[2] Daraus kann eine ODBC 3.x-Anwendung, die mit einem ODBC 3.x-Treiber arbeitet, die Datums-, Uhrzeit- oder Zeitstempelcodes verwenden, die in den Resultsets zurückgegeben werden, die von den Katalogfunktionen zurückgegeben werden.

Die folgende Tabelle zeigt, wie der ODBC 3.x-Treiber-Manager die Zuordnung der Datentypen Datum, Uhrzeit und Zeitstempel ausführt, die im ParameterType-Argumentvon SQLBindParameter oder im DataType-Argument von SQLGetTypeInfo eingegeben wurden.

Datentyp

eingegebener Code
2.x-App zu

2.x-Treiber
2.x-App zu

3.x-Treiber
3.x-App zu

2.x-Treiber
3.x-App zu

3.x-Treiber
SQL_DATE (9) Keine Zuordnung SQL_TYPE_DATE (91) Keine Zuordnung[1] SQL_TYPE_DATE (91)
SQL_TYPE_DATE (91) Fehler (von DM) Fehler (von DM) SQL_DATE (9) Keine Zuordnung[2]
SQL_TIME (10) Keine Zuordnung SQL_TYPE_TIME (92) Keine Zuordnung[1] SQL_TYPE_TIME (92)
SQL_TYPE_TIME (92) Fehler (von DM) Fehler (von DM) SQL_TIME (10) Keine Zuordnung[2]
SQL_TIMESTAMP (11) Keine Zuordnung SQL_TYPE_TIMESTAMP (93) Keine Zuordnung[1] SQL_TYPE_TIMESTAMP (93)
SQL_TYPE_TIMESTAMP (93) Fehler (von DM) Fehler (von DM) SQL_TIMESTAMP (11) Keine Zuordnung[2]

[1] Daher kann eine ODBC 3.x-Anwendung, die mit einem ODBC 2.x-Treiber arbeitet, die Datums-, Uhrzeit- oder Zeitstempelcodes verwenden, die in den Resultsets zurückgegeben werden, die von den Katalogfunktionen zurückgegeben werden.

[2] Daraus kann eine ODBC 3.x-Anwendung, die mit einem ODBC 3.x-Treiber arbeitet, die Datums-, Uhrzeit- oder Zeitstempelcodes verwenden, die in den Resultsets zurückgegeben werden, die von den Katalogfunktionen zurückgegeben werden.