Java - Instanciar otra clase

   
Vista:

Instanciar otra clase

Publicado por Ricardo Garcia Tellez (7 intervenciones) el 24/03/2008 14:07:24
Hola un saludo a todos los programadores en Java, les pido un enorme favor; Me puedan colaborar con un problema que tengo, no se mucho de Java recien estoy comenzando y no bien como instanciar una clase que gestiona mis consultas a una base de datos. Les Agradezco de ante mano. Muchas Gracias =)

Tengo una clase la cual realiza unicamente mi conexion a la base de datos, otra clase es la que realiza todas las consultas a la base de datos, esto para evitar colocar en el codigo de las pantallas accesos a la base de datos.
Ahora quise empezar a hacer las pantallas, primera pantalla Validar Usuario, nose como instanciar la clase donde estan mis consultas.

Clase a la Base de Datos: Conexion.java
Clase que maneja las consultas a la Base de Datos: gestionBD.java

Mi pantalla se llama pAutenticarse.java

Estaba haciendo esto para validar a mi usuario

String Passwd;
Passwd = new String (CPassword.getPassword()); // CPassword es mi JPasswordField de la contrasenia
setContrasenia(Passwd);
setUsuario(CUsuario.getText()); // CUsuario es el JTextField del usuario
Gestion = new gestionBD().validarUsuario(getUsuario(),getContrasenia()); // Aqui mi duda, como instancio la clase donde hago mis gestiones a la base de datos.

Esta es mi clase de gestionBD.java

public class gestionBD {

private Statement consultaSQL;
private ResultSet conjuntoResultados;

public gestionBD() {
}

public int validarUsuario(String usuario,String contrasenia)
{
int numcolumnas=0;
Conexion Conex=null;
try{
Conex = new Conexion();
Conex.conectar();
String cadena="Select from seguridad.usuario where id_usuario='"+usuario+"' and contrasenia=md5("+contrasenia+")";
conjuntoResultados = consultaSQL.executeQuery(cadena);
if (conjuntoResultados.next()){
ResultSetMetaData metadatos = conjuntoResultados.getMetaData();
numcolumnas = metadatos.getColumnCount();
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"Error en la conexion con excepcion SQLException en: " + e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
}catch(ClassNotFoundException e){
JOptionPane.showMessageDialog(null,"Error en la conexion con excepcion ClassNotFoundException en: " + e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
}catch(InstantiationException e){
JOptionPane.showMessageDialog(null,"Error en la conexion con excepcion InstantiationException en: " + e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
}catch(IllegalAccessException e){
JOptionPane.showMessageDialog(null,"Error en la conexion con excepcion IllegalAccessException en: " + e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
}finally{
try{
Conex.cerrarConexion();
}catch(SQLException ignorar){/*Ignoramos caSO*/}
}
return numcolumnas;
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Instanciar otra clase

Publicado por hadrien (25 intervenciones) el 24/03/2008 23:32:44
Hola, yo diría que simplemente tienes que usar el constructor de tu clase, es decir, tienes que hacer:
gestionDB gestion = new gestionDB();
en el main o allí dónde necesites usar las gestiones de consultas. Además, en el constructor "public gestionDB()" de gestionDB.java puedes añadirle super();
public gestionDB() {
super();
}

Para acceder a los métodos de tu .java tan sólo tienes que hacer gestion.(metodo). Por ejemplo: int valor=gestion.validarUsuario(...); , etc.

Espero que te sea útil.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar