请考虑以下代码:
List<Integer> ids = new ArrayList<Integer>();
ids.add(SelectQueueRS.getInt("DTSId_int"));
// SelectQueueRS is a ResultSet object
PreparedStatement updateOriginal = connRemote.prepareStatement(
"UPDATE test.contactqueue SET DTSStatusType_ti = 3, Queued_DialerIP_vch = ?" +
"WHERE DTSId_int IN (?)");
updateOriginal.setString(1, ip);
updateOriginal.setArray(connRemote.createArrayOf("string", ids.toArray()));
updateOriginal.executeUpdate;
我在以下几行中遇到以下错误:
在线:updateOriginal.setArray(connRemote.createArrayOf("string", ids.toArray()));
在线:updateOriginal.executeUpdate;
错误说:not a statement
请告知我该如何更正?
由于
答案 0 :(得分:0)
您在updateOriginal.setArray
中缺少参数索引,它应该是updateOriginal.setArray(2, connRemote.createArrayOf("string", ids.toArray()));
另一个问题是,您希望创建一个数据库字符串类型数组,其中您的语句期望它是数字类型的数组 - 但这可能是无关紧要的
第二个错误是由缺少括号引起的......它应该是updateOriginal.executeUpdate();