Loggin en MYSQL

Iniciado por Debci, 31 Julio 2009, 15:55 PM

0 Miembros y 1 Visitante están viendo este tema.

Debci

He conseguido conectar java con mysql ahora quiero que me haga un loggin como una web comprobando el usuario y la pass de de un db especifica, pero no se como saber si ejecutando la querye ah encontrado o no el usser y la pass, es decir que no se como detectar si ha introducido los datos correctpos o incorrectos.

por ejemplo (algoritmo simplificado):

If usser&pass = true;
pasara a la ottra frame
else;
dar mensaje de error.

Saludos

Danther

Personalmente no he usado java para conectar con mysql, pero supongo que estes usando lo que estes usando te debe permitir hacer una query tipica, como:

"SELECT nombre_columna FROM tabla_elegida WHERE nombre_columna = usuario_introducido AND password_columna = password_introducido"

Luego es cuestion de comprobar si la query ha retornado alguna coincidencia, y en caso de haberla permitir el paso

Si estas usando JDBC mirate la API, porque trae metodos para hacer todo lo que te he dicho ;)

Debci

Amigo si lo pregunto es porque ya he consultado... el api es muy grande y no he encontrado alomejor es cuestion de  buscar mas...

saludos


Debci

He usado el metodo que me deciis, y me da unr esultado raro :S

He usado este codigo: (Declaraciones previas)
Código (java) [Seleccionar]

System.out.println("Conexión a base de datos "+url+" ... Ok");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select id, nombre from contacto where id='1' and nombre='Debci'");
System.out.println("El resultado es " + rs);
conn.close();


Y me devuelve por println a la consola :


Conexión a base de datos jdbc:mysql://localhost/mysql ... Ok
El resultado es com.mysql.jdbc.ResultSet@18a6e6e

Que significa ResultSet@18a6e6e??

saludos

Pablo Videla

#5
Código (java) [Seleccionar]

while(rs.read())//si no es read prueba con next
{
System.out.println("El resultado es "+ rs.getObject("id"));
}


Debci

eso me devuelve 1 xDD
no me arregla nada

Pablo Videla

cambia el id por el nombre de la columna que quieres que te retorne xD , te retorno el ID por eso te retorno 1  :xD :xD :xD
Código (java) [Seleccionar]
System.out.println("El resultado es "+ rs.getObject("nombre"));

Debci

entonces ahora deberé comprobar el contenido de getObject y si corresponde esque esta correcto?

SALUDOs

Danther

Si no existe valor es que no existe un Debci con id 1
Si ha retornado "algo" no hace falta que lo compruebes porque ese "algo" a la fuerza tiene que ser lo que has pedido en el query.

Asi que bastaria con rs.getObject("nombre") != null o algo asi
Parece una tonteria, pero asi es mas facil para hacer consultas interactivas (por ejemplo que lo que quieras consultar se lo pases por parametro)