Visualizar en Swing el resultado de una consulta JDBC

RaulC
29 de Mayo del 2009
estoy intentando conseguir leer el registro que obtengo de una sentencia sql sobre una bd, pero a la hora de visualizar el registro por JTextField, solo me da bien el DNI

private static void dispResultSet (ResultSet rs)
throws SQLException
{
ResultSetMetaData rsmd = rs.getMetaData ();
int numCols = rsmd.getColumnCount ();
boolean more=rs.next();
while(more){
for(int i=1;i<=numCols;i++){
//aqui ya no se como narices cogerlo, he probado asignando el valor del JTextField con rs.getString(i).. pero me da error de excepcion SQL

gracias por adelantado

sphinx101
29 de Mayo del 2009
cual es la excepcion que te salta, si puedieras ponerla para ser mas claro el error que te esta marcando

RaulC
29 de Mayo del 2009
los errores que me dan son de excepcion de SQL

SQLState:24000
Message:[Administrador de controladores odbc] estado del cursor no valido
Vendor: 0

este es el error que me da.... si me pudierais decir porque da? ademas de que no me carga nada en los JTextFields que he puesto para visionar el resultado....

Heihachi
29 de Mayo del 2009
Puedes poner la función dispResultSet?

De todos modos esta va bien:

private static void dispResultSet (ResultSet rs)throws SQLException{
ResultSetMetaData rsmd = rs.getMetaData ();
int numCols = rsmd.getColumnCount ();
boolean more=rs.next();
while(more){
for(int i=1;i<=numCols;i++){
System.out.println(rs.getString(i));
}
more=rs.next();
}
}

El error creo que es que has puesto sólo rs.next() en lugar de more=rs.next()

Saludos!

RaulC
29 de Mayo del 2009
muchas gracias por la ayuda brindada!!!

Andres Jurado
29 de Mayo del 2009
Lo que estas haciendo te permite recuparar los nombres de las columnas que devuelve la consulta, asi no te saca la excepcion


private static void dispResultSet (ResultSet rs)throws SQLException{
ResultSetMetaData rsmd = rs.getMetaData ();
int numCols = rsmd.getColumnCount ();
for(int i=1;i<=numCols;i++){
System.out.println(rs.getColumnName(i));
}

}
}


para recuperar la innformacion como tal, solo debes iterar el resulSet