¿Por qué el conjunto de resultados del índice en Java se Inicia con un " 1 " en lugar de cero?

Estoy tratando de acceder a índice 0 en el conjunto de resultados, pero estoy recibiendo excepción

 java.sql.SQLException: Column Index out of range, 0 < 1.

Código :

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));
}

1 Respuestas

  • user7294900
    4 de mayo de 2019

    El conjunto de resultados columnas métodos getters inicio índice con 1 (aunque el índice por lo general comienza con 0 en Java)

    El conjunto de resultados de la interfaz proporciona métodos getter (getBoolean, getLong, y así sucesivamente) para recuperar los valores de columna de la fila actual. Los valores pueden ser recuperados usando ya sea el número de índice de la columna o el nombre de la columna. En general, el uso de la columna de índice será más eficiente. Las columnas están numeradas del 1

    Usted debe cambiar a

    MainClass.show(rsPref.getString(1));
    

    Similar a la de su índice de setter stPref.setString(1, className);