gpt4 book ai didi

c++ - MSSQL ODBC 拒绝有效的 TINYINT 值(数值超出范围)

转载 作者:行者123 更新时间:2023-11-28 05:19:33 25 4
gpt4 key购买 nike

我正在尝试插入一个 TINYINT 列,根据 MSDN docs应该取 0-255 之间的数字。不幸的是它只需要 0-127。如果我尝试插入 128 或更高,它会提示:

[22003] (native 0): [Microsoft][ODBC Driver 11 for SQL Server]Numeric value out of range

数据绑定(bind)为 SQL_C_SBIGINT,因为它是一个通用代码,用于获取所有整数,但我认为这无关紧要,因为对于数字 0-127 它可以正常工作。还有一个选项可以将其作为 SQL_C_CHAR 字符串发送,但会返回相同的错误。

谁知道问题出在哪里?

最佳答案

所以,问题确实发生了,因为作为测试的一部分,我正在使用 SQLFetch()SQLGetData()“选择”插入的数据,并且作为用于 SQLGetData() 函数的目标数据类型,我使用了 SQL_C_STINYINT 也就是签名版本。因此问题并没有在插入数据时发生,而是在我尝试“选择”它们时发生。

关于c++ - MSSQL ODBC 拒绝有效的 TINYINT 值(数值超出范围),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41810648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com