gpt4 book ai didi

java - 将 byte[] 设置为 SQL 准备语句

转载 作者:行者123 更新时间:2023-11-30 04:35:14 25 4
gpt4 key购买 nike

我正在设置这样的 SQL 准备语句:

prd.setBytes(i+1, temp_value);

其中 temp_value 的类型为 byte[]。

最后,我将 prd 语句添加到批处理中,如下所示:

prd.addBatch();
prd.executeBatch();

executeBatch 给了我一个异常(exception):java.sql.BatchUpdateException:将数据类型 varbinary 转换为数字时出错。

无论数据库表中的字段是数字类型还是任何其他类型,是否可以简单地将字节添加到准备好的语句中?

我必须具体说明要插入的类型吗?

最佳答案

setBytes 方法旨在与 SQL BLOB 类型一起使用,例如 varbinarylongvarbinary 等。对于数字类型,您需要使用 BigDecimalBigInteger 或数字基元。

允许将 setBytes 与非二进制类型一起使用的问题是系统独立性:您需要将驱动程序的多字节数字的预期布局与 JDBC 驱动程序可能非常复杂的结构相匹配作家需要出版。一旦此布局发布,他们的驱动程序将必须终生与其保持兼容。然而,大多数驱动程序编写者更愿意避免与客户端代码如此紧密的耦合。

关于java - 将 byte[] 设置为 SQL 准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13669210/

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