Re: Java + PostgreSQL

Lists: pgsql-es-ayuda
From: "Marcos Castro Calvo" <marcoscastrocr(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Java + PostgreSQL
Date: 2007-11-05 19:58:02
Message-ID: a3ee06850711051158n738ce77cwd6c866911d5440f5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Amigos... estoy nuevo en este list y nuevo en postgres con java.... tengo un
problema.... talves me puedan ayudar....

El problema es q hago una consulta a una BD y en teoria me tendria que
retornar null pero me retorna algun dato extraño... q no se que es.... y no
lo puedo validar con un null.. entonces tengo problema con eso.....

Vean lo que estoy haciendo.....

/*Realiza la coneccion con la base de datos*/
public Connection ConectarBD()
{
Connection conn;
try{
Class.forName("org.postgresql.Driver");
}
catch (ClassNotFoundException e1)
{
e1.getMessage();
e1.printStackTrace();
System.exit(1);
}
try{
conn =
DriverManager.getConnection("jdbc:postgresql://localhost:5432/"+this.bd_nombre,
this.bd_usuario, this.bd_clave);
return conn;
}
catch(Exception ex){
System.out.println(ex.toString());
return null;
}
}

////////////////////////////////////////////

/*Hace una consultada en la base de datos. Retorna un conjunto de
datos si todo transcurre normal, en caso contrario retorna un null*/
public ResultSet ConsultarBD(String Query)
{
try{
Connection conn = ConectarBD();
Statement sql = conn.createStatement();
ResultSet resultado = sql.executeQuery(Query);
return resultado;
}
catch(Exception ex){
System.out.println(ex.toString());
return null;
}
}

este es la funcion de consulta...

public ResultSet ValidaUsuario(String nombre, String clave)
{
String Query = "select nombre from usuarios where nombre = '" +
nombre + "' and clave = '" + clave + "'";
database con = new database();
return con.ConsultarBD(Query);
}

aca llamo a la funcion....

loginbd log = new loginbd();
*ResultSet Result = log.ValidaUsuario(vnombre, vclave);
if (!Result.equals(null)){
* System.out.println("si existe el usuario");
common.loguser = true;
this.setVisible(false);
}
else System.out.println("no existe el usuario");

lo que esta en negrita... es donde me tendria q devolver un null... pero me
retorna algo... q ni siquiera puedo accesar o hacerle un Result.next...

Espero q me entiendan... el problema...

--
================================
Ing. Marcos Andrés Castro Calvo


From: "Moises Alberto Lindo Gutarra" <mlindo(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Java + PostgreSQL
Date: 2007-11-05 20:12:22
Message-ID: 5db591c00711051212p2baeb794pa7da6786171af4bb@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

El 5/11/07, Marcos Castro Calvo <marcoscastrocr(at)gmail(dot)com> escribió:
> Amigos... estoy nuevo en este list y nuevo en postgres con java.... tengo un
> problema.... talves me puedan ayudar....
>
> El problema es q hago una consulta a una BD y en teoria me tendria que
> retornar null pero me retorna algun dato extraño... q no se que es.... y no
> lo puedo validar con un null.. entonces tengo problema con eso.....
>
> Vean lo que estoy haciendo.....
>
> /*Realiza la coneccion con la base de datos*/
> public Connection ConectarBD()
> {
> Connection conn;
> try{
> Class.forName("org.postgresql.Driver");
> }
> catch (ClassNotFoundException e1)
> {
> e1.getMessage();
> e1.printStackTrace();
> System.exit(1);
> }
> try{
> conn = DriverManager.getConnection
> ("jdbc:postgresql://localhost:5432/"+this.bd_nombre,
> this.bd_usuario, this.bd_clave);
> return conn;
> }
> catch(Exception ex){
> System.out.println(ex.toString());
> return null;
> }
> }
>
> ////////////////////////////////////////////
>
> /*Hace una consultada en la base de datos. Retorna un conjunto de
> datos si todo transcurre normal, en caso contrario retorna un null*/
> public ResultSet ConsultarBD(String Query)
> {
> try{
> Connection conn = ConectarBD();
> Statement sql = conn.createStatement();
> ResultSet resultado = sql.executeQuery(Query);
> return resultado;
> }
> catch(Exception ex){
> System.out.println(ex.toString());
> return null;
> }
> }
>
> este es la funcion de consulta...
>
> public ResultSet ValidaUsuario(String nombre, String clave)
> {
> String Query = "select nombre from usuarios where nombre = '" +
> nombre + "' and clave = '" + clave + "'";
> database con = new database();
> return con.ConsultarBD(Query);
> }
>
> aca llamo a la funcion....
>
> loginbd log = new loginbd();
> ResultSet Result = log.ValidaUsuario(vnombre, vclave);
> if (!Result.equals(null)){
> System.out.println("si existe el usuario");
> common.loguser = true;
> this.setVisible(false);
>
> }
> else System.out.println("no existe el usuario");
>
>
> lo que esta en negrita... es donde me tendria q devolver un null... pero me
> retorna algo... q ni siquiera puedo accesar o hacerle un Result.next...
>
>
> Espero q me entiendan... el problema...
>
> --
> ================================
> Ing. Marcos Andrés Castro Calvo

Hola,
estas en un error, no debe devolverte null sino un Resulset sin Tuplas
que no es lo
mismo, prueba con:

if (Result.next()){
System.out.println("si existe el usuario");
common.loguser = true;
this.setVisible(false);
}
else System.out.println("no existe el usuario");

--
Atentamente,
Moisés Alberto Lindo Gutarra
Asesor - Desarrollador Java / Open Source
Linux Registered User #431131 - http://counter.li.org/
Cel: (511) 95081720
MSN: mlindo(at)tumisolutions(dot)com