🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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?
#731
Author: omm79
Date: Tue, 06 Feb 2007 20:24
22 lines
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?
#732
Author: Carl
Date: Tue, 06 Feb 2007 23:16
56 lines
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?
#733
Author: Eduardo Yáñez Parareda
Date: Wed, 07 Feb 2007 11:55
14 lines
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?
#736
Author: omm79
Date: Wed, 07 Feb 2007 19:08
2 lines
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