Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2015, 17:07
fidentis
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 10 meses
Puntos: 0
Como imprimir datos usando derby

Hola estoy aprendiendo derby ya puedo hacer casi todo menos imprimir mis datos, en el código el final esta:
Código:
//Imprimo Filas de la tabla
    Integer idUser = rs.getInt("idUser");
    String first = rs.getString("FirstName");
    String last = rs.getString("LastName");
    System.out.println(idUser + " se llama: " + first + " " + last);
no se por que me da un error:
Código:
Exception in thread "main" java.sql.SQLException: Estado del cursor no válido: sin fila actual.
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.ConnectionChild.newSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedResultSet.checkOnRow(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedResultSet.getColumn(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedResultSet.getInt(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedResultSet.getInt(Unknown Source)
	at db_embebida.CrearBaseDeDatos.main(CrearBaseDeDatos.java:56)
Caused by: ERROR 24000: Estado del cursor no válido: sin fila actual.
	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source)
	... 11 more
Java Result: 1
Código:
 public static void main(String[] args) throws SQLException {
 
     //Establezco la conexion con la base de datos, si no existe la crea
    String db="prueba33";
    Connection conn = DriverManager.getConnection("jdbc:derby:"+db+";create=true");
    System.out.println("DB "+db+" creada");
    
    //creo una tabla con 3 columnas
    Statement st = conn.createStatement();
      String sqlCreateTableUsers =
             "CREATE TABLE users ( " +
             "FirstName VARCHAR(20) NOT NULL, " +
             "LastName VARCHAR(20) NOT NULL, " +
             "idUser INTEGER NOT NULL CONSTRAINT idUser_PK PRIMARY KEY " +
             ")";
    st.execute(sqlCreateTableUsers);
    System.out.println("Tablas creadas");
    //Inserto Datos en la tabla creada
    st.execute("INSERT INTO users VALUES('jose','casta',1)");
    st.execute("INSERT INTO users VALUES('del','belt',2)");
    st.execute("INSERT INTO users VALUES('jos','vel',3)");
    System.out.println("Datos Ingresados");
    
    //Consulto los datos ingresados
    //resultSet..
    ResultSet rs=st.executeQuery("SELECT * FROM users");
    //Contar filas
    int nOfRows=0;
    while(rs.next()){
        nOfRows++;
    }
    System.out.println("filas: "+nOfRows);
    //Imprimo Filas de la tabla
    Integer idUser = rs.getInt("idUser");
    String first = rs.getString("FirstName");
    String last = rs.getString("LastName");
    System.out.println(idUser + " se llama: " + first + " " + last);
  
    
    
    conn.close();
    
 }

Alguien sabe que tengo mal que no me imprime la consulta? gracias