- 需要使用的文件
- sql.h:包含基本的API定义
- sqlext.h:包含扩展的ODBC定义
- odbc32.lib 库文件
ODBC数据类型名称 | SQL语言数据类型名称 |
SQL_CHAR | CHAR(n) |
SQL_VARCHAR | VARCHAR(n) |
SQL_LONGVARCHAR | LONG VARCHAR |
SQL_WCHAR | WCHAR(n) |
SQL_WVARCHAR | VARWCHAR(n) |
SQL_WLONGVARCHAR | LONGWVARCHAR |
SQL_DECIMAL | DECIMAL(p,s) |
SQL_NUMERIC | NUMERIC(p,s) |
SQL_SMALLINT | SMALLINT |
SQL_INTEGER | INTEGER |
SQL_REAL | REAL |
SQL_FLOAT | FLOAT(p) |
SQL_DOUBLE | DOUBLE PRECISION |
SQL_BIT | BIT |
SQL_TINYINT | TINYINT |
SQL_BIGINT | BIGINT |
SQL_BINARY | BINARY(n) |
SQL_VARBINARY | VARBINARY(n) |
SQL_LONGVARBINARY | LONG VARBINARY |
SQL_TYPE_DATE[6] | DATE |
SQL_TYPE_TIME[6] | TIME(p) |
SQL_TYPE_TIMESTAMP[6] | TIMESTAMP(p) |
SQL_GUID | GUID |
C语言数据类型名称 | ODBC 数据类型定义 | C语言实际类型 |
SQL_C_CHAR | SQLCHAR * | unsigned char * |
SQL_C_SSHORT[j] | SQLSMALLINT | short int |
SQL_C_USHORT[j] | SQLUSMALLINT | unsigned short int |
SQL_C_SLONG[j] | SQLINTEGER | long int |
SQL_C_ULONG[j] | SQLUINTEGER | unsigned long int |
SQL_C_FLOAT | SQLREAL | float |
SQL_C_DOUBLE | SQLDOUBLE, SQLFLOAT | double |
SQL_C_BIT | SQLCHAR | unsigned char |
SQL_C_STINYINT[j] | SQLSCHAR | signed char |
SQL_C_UTINYINT[j] | SQLCHAR | unsigned char |
SQL_C_SBIGINT | SQLBIGINT | _int64[h] |
SQL_C_UBIGINT | SQLUBIGINT | unsigned _int64[h] |
SQL_C_BINARY | SQLCHAR * | unsigned char * |
SQL_C_BOOKMARK[i] | BOOKMARK | unsigned long int[d] |
SQL_C_VARBOOKMARK | SQLCHAR * | unsigned char * |
SQL_C_TYPE_DATE[c] | SQL_DATE_STRUCT | struct tagDATE_STRUCT { |
SQL_C_TYPE_TIME[c] | SQL_TIME_STRUCT | struct tagTIME_STRUCT { |
SQL_C_TYPE_TIMESTAMP[c] | SQL_TIMESTAMP_STRUCT | struct tagTIMESTAMP_STRUCT { |
SQL_C_NUMERIC | SQL_NUMERIC_STRUCT | struct tagSQL_NUMERIC_STRUCT { |
SQL_C_GUID | SQLGUID | struct tagSQLGUID { |
ODBC句柄有三类:环境句柄,数据库连接句柄,SQL语句句柄
在使用ODBC功能时要先申请环境句柄,然后在环境句柄上创建数据库连接,最后在数据连接基础上执行SQL语句