2013-07-09 48 views
0

嗨我正在尝试使用JDBC准备语句批量上传到sybase iq。我正在以下SQL异常SQLException准备语句:输入参数未设置,索引:1

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

编辑:

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

我使用下面的代码

我是新来的JDBC请指导什么是错的。提前致谢。

+3

向我们显示您的查询字符串! – NINCOMPOOP

+0

和'newArray'的内容 –

+0

Hi @TheNeiIdiot感谢您的回复。我在编辑部分添加了查询。 – u449355

回答

2

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

具体而言,我不认为pstmt.executeBatch();应该在您的for-loop设置参数中找到:您在设置所有参数之前执行批处理!

+0

嗨,谢谢你的回复。我已经添加了插入查询。请告诉我如何在调用执行批次之前设置参数。 – u449355

1

我认为这个问题是由于您通过colArray每次迭代调用pstmt.addBatch()pstmt.executeBatch()的事实引起的。只有在设置了全部查询参数后,才应该致电pstmt.addBatch(),并且只有在处理了所有对象(或者您已达到批量大小)后才致电pstmt.executeBatch()