默认 C 数据类型
如果应用程序在 SQLBindCol、SQLGetData 或 SQLBindParameter 中指定SQL_C_DEFAULT,驱动程序假定输出或输入缓冲区的 C 数据类型对应于缓冲区绑定到的列或参数的 SQL 数据类型。
重要
可互操作的应用程序不应使用SQL_C_DEFAULT。 相反,它们应始终指定所使用的缓冲区的 C 类型。 这是因为驱动程序无法始终正确确定默认 C 类型,原因如下:
如果 DBMS 升级列或参数的 SQL 数据类型,驱动程序无法确定列或参数的原始 SQL 数据类型。 因此,它无法确定相应的默认 C 数据类型。
如果驱动程序无法确定特定列或参数是签名的,则通常由 DBMS 处理该列或参数时,驱动程序无法确定是否应对相应的默认 C 数据类型进行签名或取消签名。
由于SQL_C_DEFAULT仅作为编程便利提供,因此应用程序在指定实际的 C 数据类型时不会丢失任何功能。