重写数字数据类型的默认精度和小数位数
通过调用 SQLBindCol 或 SQLSetDescField 将 ARD 中的SQL_DESC_TYPE字段设置为SQL_C_NUMERIC时,ARD 中的SQL_DESC_SCALE字段设置为 0,SQL_DESC_PRECISION字段设置为驱动程序定义的默认精度。 当 APD 中的SQL_DESC_TYPE字段通过调用 SQLBindParameter 或 SQLSetDescField 设置为 SQL_C_NUMERIC 时也是如此。 这适用于输入、输入/输出或输出参数。
如果应用程序不接受上述任一默认值,则应用程序应通过调用 SQLSetDescField 或 SQLSetDescRec 来设置SQL_DESC_SCALE或SQL_DESC_PRECISION字段。
如果应用程序调用 SQLGetData 将数据返回到SQL_C_NUMERIC结构中,则使用默认SQL_DESC_SCALE和SQL_DESC_PRECISION字段。 如果默认值不可接受,则应用程序必须调用 SQLSetDescRec 或 SQLSetDescField 来设置字段,然后调用 TargetType 为 SQL_ARD_TYPE 的 SQLGetData,以使用描述符字段中的值。
调用 SQLPutData 时,调用使用与执行时数据参数或列对应的描述符记录SQL_DESC_SCALE和SQL_DESC_PRECISION字段,这些字段是用于调用 SQLExecute 或 SQLExecDirect 的 APD 字段,或用于调用 SQLBulkOperations 或 SQLSetPos 的 ARD 字段。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈