en java.Cómo guardar un resultado de una consulta sql en una variable?

        java.sql.PreparedStatement preparedStatement = null;
        String query = "select season from seasonTable where league_name=?";

        preparedStatement = conn.prepareStatement(query);

        preparedStatement.setString(1, league);
        ResultSet rs = preparedStatement.executeQuery();

Necesito para guardar la lista de la temporada en una variable, ¿cómo puedo hacer esto ?

InformationsquelleAutor Srikanth Pai | 2012-08-02

5 Comentarios

  1. 6

    Puede llamar rs.next() para mover el cursor por el conjunto de resultados a la siguiente fila. Que método devuelve un valor booleano que indica si existe o no realmente es una fila siguiente, así que usted puede utilizar tanto un if declaración o un while bucle para recuperar la primera o todas las filas devueltas.

    //only ever retrieve the value from the first returned row, even if there are multiple
    String season = null;
    if(rs.next())
        season = rs.getString(1);

    O

    //retrieve the values of all returned rows and store them in a list
    List<String> seasons = new ArrayList<String>();
    while(rs.next())
        seasons.add(rs.getString(1));
  2. 0

    Mirando el javadoc verás que hay métodos para acceder a las columnas del conjunto de resultados mediante su índice o en su nombre. Para cada tipo de recuperar existe un método : getString(), getFloat() etc…

  3. 0
        String s;
    //Fetch each row from the result set
            while (rs.next()) {
                //Get the data from the row using the column index
                s = rs.getString(1);
                         /**    OR   **/
                //Get the data from the row using the column name
                s = rs.getString("season");
            }
  4. 0

    Usted necesita para recorrer el conjunto de resultados, y obtener la columna adecuada. por ejemplo,

    String season = null;
    while (rs.next()) {
       season = rs.getString(column_name); //you can use column name or index
    }

    Tenga en cuenta que es posible que desee comprobar para sólo una entrada en el ResultSet, y/o que season rellena. Por otro lado, es posible que desee grabar varias temporadas, por lo tanto:

    List<String> seasons = new ArrayList<String>();
    while (rs.next()) {
       seasons.add(rs.getString(column_name)); 
    }

    Yo preferiría obtener la columna por nombre en lugar de por su índice. De esa manera usted puede cambiar su consulta (en algún grado) y la eliminación de referencias va a funcionar.

    Aquí son algunos ejemplos más.

    • Que sobrescribirá la variable una vez y otra vez para cada iteración.
    • Sí. De ahí mi comentario acerca de la comprobación de un de entrada solamente.

Dejar respuesta

Please enter your comment!
Please enter your name here