需要帮助..
我需要读取excel数据并将数据插入oracle db table。当我运行程序时,我收到错误无效的列索引。搜索文章,找不到解决方案。
代码段:
enter code here
答案 0 :(得分:0)
由于调用或尝试从不存在的列读取数据而发生无效的列索引异常....简单来说,curser.getint()行中的列号错误
答案 1 :(得分:0)
听起来您正在使用数字索引从结果集中提取值,并且您尝试访问的索引不存在。在Oracle中运行查询并确认您获得了预期的结果。
您还可以添加try-with-resources块以获得额外的积分,并在catch中输出有问题的列/索引,仅用于调试目的。
答案 2 :(得分:0)
在没有任何代码段的情况下回复:
在Java(SQL)中,当尝试在Invalid column index error
ResultSet
示例强>:
ResultSet rs = ...;
try {
if (rs != null) {
rs.next();
return rs.getInt(1);
}
} catch (SQLException e) {
// handle the exception
}
在这种情况下,您有一个结果,您正试图获得一列。
要获得第一列(请记住,数组从0开始),您需要编写rs.getX(0)
(将X
更改为您的值类型)
始终检查 ResultSet 是否 null (使用if (rs != null)
)
在Java(SQL)中,当您在Invalid column index error
PreparedStatement
示例:
try {
PreparedStatement ps = connection.prepareStatement("UPDATE users SET name = ? WHERE id = ?");
ps.setInt(1, "Sam");
ps.setString(2, "24");
ps.executeUpdate();
} catch (SQLException e) {
// handle the exception
}
在这种情况下,您有一个查询和替换(?
char)的参数,您可以使用索引(从1开始而不是0开始)来分配值强>)
第一个?
有索引1,第二个有索引2,依此类推......
如果您的查询没有替换?
,那么您将收到此Exception
错误