默认 C 数据类型
如果应用程序在 SQLBindCol、 SQLGetData 或 SQLBindParameter 中指定SQL_C_DEFAULT,则驱动程序假定输出或输入缓冲区的 C 数据类型对应于缓冲区绑定到的列或参数的 SQL 数据类型。
重要
互操作应用程序不应使用SQL_C_DEFAULT。 相反,它们应始终指定所使用的缓冲区的 C 类型。 这是因为驱动程序无法始终正确确定默认 C 类型,原因如下:
如果 DBMS 提升列或参数的 SQL 数据类型,则驱动程序无法确定列或参数的原始 SQL 数据类型。 因此,它无法确定相应的默认 C 数据类型。
如果驱动程序无法确定是否对特定列或参数进行签名(通常由 DBMS 处理),则驱动程序无法确定是否应对相应的默认 C 数据类型进行签名或无符号。
因为提供SQL_C_DEFAULT只是为了方便编程,所以应用程序在指定实际的 C 数据类型时不会丢失任何功能。
本附录后面的 将数据从 SQL 转换为 C 数据类型中包含了一个表,其中显示了每种 SQL 数据类型的默认 C 数据类型。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈