我所拥有的是多选Jlist框,用户可以选择多个功能。我抓住这些ID并将它们存储到一个int []数组中。将int数组中的每个值插入数据库 - Java
我想要做的是将它们插入到我的数据库中,如下所示。但是这导致出现异常
java.sql.SQLException: ORA-01722: invalid number
。这条线是执行语句的地方。我检查了数组不是null并产生正确的值。我不确定什么会导致这个错误。
for (int i = 0; i < features.length; i++) {
try {
String strQuery = "INSERT INTO home_feature(home_id, feature_id) VALUES (?, ?)";
PreparedStatement stmt = conn.prepareStatement(strQuery);//prepare the SQL Query
stmt.setString(1, homeID);//insert homeid
stmt.setInt(2, features[i]);//insert featureid.
stmt.executeQuery();//execute query
dataAdded = true;//data successfully inserted
} catch (Exception e) {
e.printStackTrace();
dataAdded = false;//there was a problem, data not inserted
}//end try
}
我是否正确插入值的列表?或者我应该从另一个角度来解决这个问题?
你确定home_id字段在数据库中是varchar吗?它是它可以解释错误的数字。 – sbk 2013-02-14 12:38:27
你可以分享'homeID'和'features'数组的值吗? – Apurv 2013-02-14 12:42:30
在不相干的笔记上,您应该只准备一次陈述。多次准备语句会破坏游标可重用性的目的。 – 2013-02-14 12:56:07