Informix JDBC 准备语句 UPDATE 多重集
我想更改表的 MULTISET 列,我的代码如下所示:
PreparedStatement pstm = preparedStatement("UPDATE table SET mc = MULTISET{?, ?} WHERE ...");
pstm.setString(1, "...");
pstm.setString(2, "...");
pstm.execute();
我收到错误:“非法尝试将集合类型转换为另一种类型。”。
这有什么问题吗?当我输入实际值而不是“?”时一切都很好。
顺便说一句... mc 的定义类似于 MULTISET(CHAR(20) NOT NULL)
谢谢...
I want to change MULTISET column of the table, and my code looks something like this:
PreparedStatement pstm = preparedStatement("UPDATE table SET mc = MULTISET{?, ?} WHERE ...");
pstm.setString(1, "...");
pstm.setString(2, "...");
pstm.execute();
And I get error: "Illegal attempt to convert a collection type into another type.".
What is wrong with this? When I put real values instead of '?' everything works just fine.
Btw... mc is defined like MULTISET(CHAR(20) NOT NULL)
Thank you...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用 JDBC Informix 驱动程序 3.50 和 Jython 2.5.1 对其进行了测试,并且它有效。也许您使用一些旧版本的 JDBC?我使用
execute()
和executeUpdate()
方法对其进行了测试。我的代码:对于我插入
aaa_mc_test
表的 3 条记录,它打印出ok,更新:3
I tested it using JDBC Informix drivers 3.50 and Jython 2.5.1 and it works. Maybe you use some old version of JDBC? I tested it both with
execute()
andexecuteUpdate()
method. My code:For 3 records I inserted to
aaa_mc_test
table it prints outok, updated: 3