Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Lain0x en 8 Diciembre 2010, 01:10 am



Título: Java + Base de datos
Publicado por: Lain0x en 8 Diciembre 2010, 01:10 am
Hola estoy haciendo un programa de login, que pide usuario y pass, y si los datos ingresados corresponden a los de la tabla, entonces mostrará un mensaje.
El código de conexión lo compilé y no lanzó ningún error, supongo que significa que está correcto. Pero tengo problemas con la clase Consultas, me dice que el problema está acá (dice que no existen los métodos getNombre y getContraseña), algunas partes del código las extraje de otro lado, supuse que eran funciones de alguna librería:

Código:
String sql = "insert into app.LOGIN values ('"+ d.getNombre() +"', '"+ d.getContraseña() +"')";
            st = conn.getConnection().createStatement();

Código Conexión con la bd:

Código:
Conectar:


package base;
import java.sql.*;

public class Conectate {
    Connection conn = null;
    public void Conectate(){
        try{
            Class.forName("conn.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/datos","lain0x","");
            if(conn!=null)
            {
                System.out.println("conexión lista");

            }
        }
        catch(SQLException e){
            System.out.println(e);
        }
        catch(ClassNotFoundException e){
            System.out.println(e);
        }
    }
    public Connection getconnetion(){
        return conn;
           
        }
    public void desconectar(){
        conn=null;
    }




}



Código Consultar:

Código:
package base;
import javax.swing.JOptionPane;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Consultas{
   
static Conectate conn;
static Statement st;

public static void Login(Ventana d){
        try {
            conn = new Conectate();
       
            String sql = "insert into app.LOGIN values ('"+ d.getNombre() +"', '"+ d.getContraseña() +"')";
            st = conn.getConnection().createStatement();
            int res = st.executeUpdate(sql);
            System.out.println(res);

if (res == 1) {
                JOptionPane.showMessageDialog(null, "Nombre Valido");
            }
            conn.desconectar();
           
        }catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }


}
   
}   



Título: Re: Java + Base de datos
Publicado por: egyware en 8 Diciembre 2010, 02:27 am
Hola, ni mire el codigo para conectarte  SQL
pero estas seguro que esta consulta es correcta???

String sql = "insert into app.LOGIN values ('"+ d.getNombre() +"', '"+ d.getContraseña() +"')";

yo que tu imprimiria esa consulta con System.out y la verificaria con phpmyadmin o phppgadmin (segun el caso)

Si no puedes revisar su sintaxis, te dejo la documentación de MySQL y PostgreSQL
http://dev.mysql.com/doc/refman/5.0/es/insert.html
http://www.postgresql.org/docs/8.1/static/sql-insert.html

Ahora leyendo un poco, d es un objeto tipo Ventana y por lo que dices al parecer ni getNombre() ni getContraseña() (con tilde?? D: )  no estan definidos en Ventana, en ese caso te recomiendo que revises el codigo fuente de Ventana.

Saludos!!!


Título: Re: Java + Base de datos
Publicado por: danielo- en 23 Enero 2011, 01:48 am
mmm... pues porque no existe el metodo getNombre ni getContesena?
XD.... no estaria mal que pegues la clase Ventana,  o almenos asegurate de que en ella exista la clase getNombre y getContrasena, xq al parecer no es la conexion la que falla


Título: Re: Java + Base de datos
Publicado por: ChavalChavito en 24 Enero 2011, 04:44 am
LEyendo un poco el codigo encontre un par d errores, primero q el metodo getConnection, figura getconnetion, error d sintaxion no t va a devolver la conexion...
Segundo, la variable conn q utilizas en las dos clases tendrian q llamarse d manera diferente(Connection, conectate), en login cambiale el nombre, solamente "con" por ejemplo .
Estuve viendo q sacast parte d mi conexion :P
con respecto a ...
Código:
String sql = "insert into app.LOGIN values ('"+ d.getNombre() +"', '"+ d.getContraseña() +"')";
            st = conn.getConnection().createStatement();
Faltaria q desarrolles la clase Ventana en la cual tendrias q definir los metodos getNombre y getContraseña