SQLException Prepared Statement:输入参数未设置,索引:1

时间:2013-07-09 09:55:00

标签: java jdbc

您好我正在尝试使用JDBC预处理语句批量上传到sybase iq。我得到以下sql异常

java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 1.

编辑:

INSERT INTO School2(schoolid,schoolname,schooltype) VALUES (?,?,?)

我正在使用以下代码

我是JDBC的新手请指导出错。提前谢谢。

2 个答案:

答案 0 :(得分:2)

我们没有看到您的查询字符串,但似乎在执行语句时未设置所有参数。

具体来说,我不认为在for循环中设置参数应该找到pstmt.executeBatch();:在设置所有参数之前执行批处理!

答案 1 :(得分:1)

我认为问题是由于pstmt.addBatch()上的每次迭代都会调用pstmt.executeBatch()colArray。您只应在设置所有查询参数后致电pstmt.addBatch(),并且只有在处理完所有对象后(或者您已达到批量大小)时才调用pstmt.executeBatch()。< / p>