在prepare语句中传递数组参数-获取“ java.sql.SQLFeatureNotSupportedException”

在prepare语句中传递数组参数-获取“ java.sql.SQLFeatureNotSupportedException”,第1张

在prepare语句中传递数组参数-获取“ java.sql.SQLFeatureNotSupportedException”

对于

Mysql
-

在Mysql中无法设置数组。

取而代之的是,您可以在循环中以相同的方式来查询(?,?,..)值。

String[] Parameter = { "user1", "Administrator" };String query = "select * from userinfo where firstname in (";String temp = "";for(i = 0; i < Parameter.length; i++) {  temp += ",?";}temp = temp.replaceFirst(",", "");temp += ")";query = query + temp;PreparedStatement pst = conn.prepareStatement(query);

所以查询变成

select * from userinfo where firstname in (?,?)

并使用循环传递值。

对于

Oracle
-

ArrayDescriptor arrayDescriptor = ArrayDescriptor.createDescriptor("CHAR_ARRAY", conn);String[] Parameter = { "user1", "Administrator" };java.sql.Array sqlArray = new oracle.sql.ARRAY(arrayDescriptor, conn, content);..pstmt.setArray(1, sqlArray);


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5490197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存