我试图访问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));
}
ResultSet列getters方法以1
开始索引(尽管在Java中索引通常以0
开始(
ResultSet接口提供用于从当前行检索列值的getter方法(getBoolean、getLong等(。可以使用列的索引号或列的名称检索值。一般来说,使用列索引会更有效率。列从1 开始编号
您应该更改为
MainClass.show(rsPref.getString(1));
类似于您在setterstPref.setString(1, className);
中的索引