我正在尝试访问ResultSet中的索引0,但出现异常
java.sql.SQLException: Column Index out of range, 0 < 1.
代码:
c = db.getConnection();
String prefQuery = "SELECT pLab from practicals where className = ? AND pFacName = ?";
PreparedStatement stPref = c.prepareStatement(prefQuery);
stPref.setString(1, className);
stPref.setString(2, facName);
ResultSet rsPref = stPref.executeQuery();
while (rsPref.next()){
MainClass.show(rsPref.getString(0));
}
答案 0 :(得分:0)
ResultSet columns的getter方法以1
开头索引(尽管在Java中索引通常以0
开头)
ResultSet接口提供用于从当前行中检索列值的getter方法(getBoolean,getLong等)。可以使用列的索引号或列的名称来检索值。通常,使用列索引会更有效。列从1开始编号
您应该更改为
MainClass.show(rsPref.getString(1));
类似于您在二传手stPref.setString(1, className);
中的索引