Thread View: es.comp.lenguajes.java
4 messages
4 total messages
Started by omm79
Tue, 06 Feb 2007 20:24
hola tengo una pregunta, como se cuando mysql tiene una tabla vacia?
Author: omm79
Date: Tue, 06 Feb 2007 20:24
Date: Tue, 06 Feb 2007 20:24
22 lines
2053 bytes
2053 bytes
Estoy haciendo una aplicacion en java-mysql pero mi problema es que
necesito saber cuando una tabla esta vacia en mysql, ya he ejecutado
una consulta asi:
..............
rs = MysqlConect.consultar("SELECT "+campo+" FROM "+tabla);
if (rs != null) {
System.out.println("La tabla NO esta vacia");
return rs;
}
else {
System.out.println("La tabla esta vacia");
return null;
}
.............
y cuando recupero el valor que me devuelve el metodo me dice que si
hay elementos y me devuelve valores como estos:
com.mysql.jdbc.ResultSet@7c6768, pero realmente en la tabla no existe
nada y ya he intentado tambien con if (rs.wasNull()) pero me devuelve
tambien elementos, entonces la pregunta especificamente seria que
metodo o como tengo que recuperar la informacion de la tabla, para que
me devuelva solamente si esta vaicia o no en java. Agradeceria mucho
la ayuda.
Re: hola tengo una pregunta, como se cuando mysql tiene una tabla vacia?
Author: Carl
Date: Tue, 06 Feb 2007 23:16
Date: Tue, 06 Feb 2007 23:16
56 lines
3542 bytes
3542 bytes
On Feb 6, 12:24 pm, "omm79" <omm1...@gmail.com> wrote:
> Estoy haciendo una aplicacion en java-mysql pero mi problema es que
> necesito saber cuando una tabla esta vacia en mysql, ya he ejecutado
> una consulta asi:
> ..............
> rs = MysqlConect.consultar("SELECT "+campo+" FROM "+tabla);
> if (rs != null) {
> System.out.println("La tabla NO esta vacia");
> return rs;
> }
> else {
> System.out.println("La tabla esta vacia");
> return null;
> }
> .............
> y cuando recupero el valor que me devuelve el metodo me dice que si
> hay elementos y me devuelve valores como estos:
> com.mysql.jdbc.ResultSet@7c6768, pero realmente en la tabla no existe
> nada y ya he intentado tambien con if (rs.wasNull()) pero me devuelve
> tambien elementos, entonces la pregunta especificamente seria que
> metodo o como tengo que recuperar la informacion de la tabla, para que
> me devuelva solamente si esta vaicia o no en java. Agradeceria mucho
> la ayuda.
El valor que estas mirando no tiene nada que ver con los elementos de
el resultado, son los datos de el objeto ResultSet. El metodo
wasNull() solo resulta si el ultimo intento de usar un del los get*()
metodos de le ResultSet resulto en un valor de NULL.
Para saber si la tabla esta vacia, le preguntas a el ResultSet por el
proximo groupo de datos (Record/Row).
Por exemplo:
rs = MysqlConect.consultar("SELECT "+campo+" FROM "+tabla);
if (rs != null && rs.next() ) {
// si llegamos aqui, es porque hay por lo menos un resultado...
System.out.println("Encontre: " + rs.getString(1) ); // te da el
valor de el primer campo
} else {
System.out.println("La tabla esta vacia o me encontré un error!");
}
En realidad, yo creo que seria mejor saber cuantos resultados hay,
pero esto posiblemente hace _un_poco_ mas trabajo para la base de
datos:
rs = stmt.executeQuery("SELECT count(nid) as rec_count FROM node");
if (null != rs && rs.next()) {
int recCount = rs.getInt("rec_count");
System.out.println("Encontre " + recCount + " records");
if (recCount == 0) {
// no... hay...nada!
}
}
Un saludo,
Carl.
Re: hola tengo una pregunta, como se cuando mysql tiene una tabla vacia?
Author: Eduardo Yáñez Parareda
Date: Wed, 07 Feb 2007 11:55
Date: Wed, 07 Feb 2007 11:55
14 lines
1285 bytes
1285 bytes
> rs = MysqlConect.consultar("SELECT "+campo+" FROM "+tabla);
> if (rs != null) {
> System.out.println("La tabla NO esta vacia");
> return rs;
> }
> else {
> System.out.println("La tabla esta vacia");
> return null;
> }
Siempre deber�as obtener un objeto ResultSet, luego con usar
if (!rs.next()) te deber�a bastar.
Re: hola tengo una pregunta, como se cuando mysql tiene una tabla vacia?
Author: omm79
Date: Wed, 07 Feb 2007 19:08
Date: Wed, 07 Feb 2007 19:08
2 lines
1377 bytes
1377 bytes
Gracias a todos he resuelto el problema con su apoyo, LE DEBO UNA, CUIDENSE NOS VEMOS POR AQUI.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads