Mostrar Query

zoso
17 de Octubre del 2005
He conseguido conectarme a una BD Informix y al ejecutar cualquier Query que me de como respuesta una sola columna va bien; el problema reside cuando quiero ejecutar una consulta que me devuelva mas de un registro me sale esto por pantalla:

Comienza Main...
SQLException atrapada No such column name

----jGRASP: operation complete.

El codigo es el siguiente:

stmt=con.createStatement();

rs=stmt.executeQuery("SELECT * FROM TSERINS WHERE serins='ACL'");



while (rs.next()){
System.out.println(rs.getString("*"));
}
}catch (ClassNotFoundException e){
System.out.println("No se pudo cargar el driver "+e.getMessage());
}catch(SQLException e){
System.out.println("SQLException atrapada "+e.getMessage());

chuidiang
17 de Octubre del 2005
Hola:

Aunque en el select pongas *, el result set tiene tantas columnas como columnas tenga la tabla TSERINS. Debes pedir cada columna de una en una. Puedes hacerlo por nombre o por indice (empezando en 1).

rs.getObject ("nombre_una_columna");
rs.getObject (1);

Para saber cuantas columnas tiene el resulset, pidele el ResultSetMetaData al ResultSet (tiene un metodo para ello). Esta clase ResultSetMetaData tiene un metodo para pedir cuantas columnas tiene el ResultSet.

Se bueno.

zoso
17 de Octubre del 2005
ok muchas gracias por hacerme darme cuentad e lo estupido q soy..jeje..es lo q tiene no tengo solucion ..

Pero bueno a lo q voy, lo que he de hacer no es consultar a la BD sino lanzar unos procedimientos almacenados con lo q el codigo ha quedado asi:

rs=stmt.executeQuery("execute procedure prueba_proced()");

Y me da el siguiente Mensaje

SQLEexeption: Method only for queries

Como se podria lanzar un procedimiento entonces?? muchas gracias

chuidiang
17 de Octubre del 2005
Hola de nuevo.

Los executeQuery() solo sirven para select.
Para update, insert y delete debes llamar a executeUpdate().

En http://www.programacion.com/bbdd/tutorial/jdbc/12/ tienes un pequeño tutorial en el que explica estos temas, incluidas las llamadas a procedimientos de sql.

Se bueno

Pedro
17 de Octubre del 2005
Hay que mirarse un poquitin el javadoc ;)

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#execute(java.lang.String)