Buenos dias, estoy empezando a programar en Java, he hecho el siguiente codigo:
gesUsuario.java:
Código HTML:
public boolean encUsuario(String log_usua, String pas_usua){
boolean existe=false;
conexion cn = new conexion();
classUsuario usu = new classUsuario();
Connection con=cn.getConnection();
try{
sql="select * from sd_usuario where LOG_USUA='"+log_usua+"' and PAS_USUA='"+pas_usua+"'";
stmt=con.createStatement();
rs=stmt.executeQuery(sql);
if(rs.next()){
Principal prin = new Principal();
usu.setNom_usua(rs.getString("NOM_USUA"));
System.out.println("Aqui es donde setee la variable y aqui si se ve: "+usu.getNom_usua()+"... pero deberia verse en las otras clases pues ya esta seteada, el valor ya se le asigno y no lo hace");
/*
usu.setCod_usua(rs.getString("COD_USUA"));
usu.setNom_usua(rs.getString("NOM_USUA"));
usu.setApa_usua(rs.getString("APA_USUA"));
usu.setAma_usua(rs.getString("AMA_USUA"));
usu.setTel_usua(rs.getString("TEL_USUA"));
usu.setEma_usua(rs.getString("EMA_USUA"));
usu.setLog_usua(rs.getString("LOG_USUA"));
usu.setPas_usua(rs.getString("PAS_USUA"));
*/
existe=true;
}
rs.close();
stmt.close();
} catch (Exception e){
System.out.println("Error 8 = "+e.getMessage());
}
return existe;
}
classUsuario.java
Código HTML:
public class classUsuario {
private String cod_usua;
private String nom_usua;
private String apa_usua;
private String ama_usua;
private String tel_usua;
private String ema_usua;
private String log_usua;
private String pas_usua;
/**
* @return the cod_usua
*/
public String getCod_usua() {
return cod_usua;
}
/**
* @param cod_usua the cod_usua to set
*/
public void setCod_usua(String cod_usua) {
this.cod_usua = cod_usua;
}
/**
* @return the nom_usua
*/
public String getNom_usua() {
return nom_usua;
}
/**
* @param nom_usua the nom_usua to set
*/
public void setNom_usua(String nom_usua) {
this.nom_usua = nom_usua;
}
/**
* @return the apa_usua
*/
public String getApa_usua() {
return apa_usua;
}
/**
* @param apa_usua the apa_usua to set
*/
public void setApa_usua(String apa_usua) {
this.apa_usua = apa_usua;
}
/**
* @return the ama_usua
*/
public String getAma_usua() {
return ama_usua;
}
/**
* @param ama_usua the ama_usua to set
*/
public void setAma_usua(String ama_usua) {
this.ama_usua = ama_usua;
}
/**
* @return the tel_usua
*/
public String getTel_usua() {
return tel_usua;
}
/**
* @param tel_usua the tel_usua to set
*/
public void setTel_usua(String tel_usua) {
this.tel_usua = tel_usua;
}
/**
* @return the ema_usua
*/
public String getEma_usua() {
return ema_usua;
}
/**
* @param ema_usua the ema_usua to set
*/
public void setEma_usua(String ema_usua) {
this.ema_usua = ema_usua;
}
/**
* @return the log_usua
*/
public String getLog_usua() {
return log_usua;
}
/**
* @param log_usua the log_usua to set
*/
public void setLog_usua(String log_usua) {
this.log_usua = log_usua;
}
/**
* @return the pas_usua
*/
public String getPas_usua() {
return pas_usua;
}
/**
* @param pas_usua the pas_usua to set
*/
public void setPas_usua(String pas_usua) {
this.pas_usua = pas_usua;
}
JFrame:
Inicio.java: El boton de Ingresar, a la hora de hacer el logeo debe validar que existe ese usuario y si lo encuentra, pues entrara al sistema, este sistema se llama
Principal.java Código HTML:
private void btn_conectarActionPerformed(java.awt.event.ActionEvent evt) {
String codigo=txt_usuario.getText();
String clave=String.copyValueOf(txt_clave.getPassword());
classUsuario u = new classUsuario();
u.setLog_usua(codigo);
u.setPas_usua(clave);
gesUsuario gUsu = new gesUsuario();
if(gUsu.encUsuario(u.getLog_usua(),u.getPas_usua())){
Principal.nombre=u.getNom_usua();
Principal prin = new Principal();
System.out.println("La variable deberia verse aqui, pero sale NULL: "+u.getNom_usua());
prin.setTitle("Bienvenido al sistema "+prin.nombre);
prin.setVisible(true);
this.dispose();
}else{
JOptionPane.showMessageDialog(this,"Usuario y/o Clave incorrectos");
}
}
Tabla de SQL:
Código HTML:
CREATE TABLE SD_USUARIO (
COD_USUA VARCHAR(5) NOT NULL,
NOM_USUA VARCHAR(30) NULL,
APA_USUA VARCHAR(20) NULL,
AMA_USUA VARCHAR(20) NULL,
TEL_USUA VARCHAR(20) NULL,
EMA_USUA VARCHAR(50) NULL,
LOG_USUA VARCHAR(20) NULL,
PAS_USUA VARCHAR(20) NULL,
PRIMARY KEY(COD_USUA)
);
Casi todo funciona correctamente, la conexion a la base de datos, la funcion que busca a un usuario y lo encuentra, todo muy bien, el problema que tengo es:
SI BIEN LOGRO SETEAR LAS VARIABLES (en este caso es la variable nom_usua) ADEMAS PUEDO LEERLA EN LA MISMA CLASE EN LA Q LA HE SETEADO POR MEDIO DEL METODO GET, NO LOGRO LEER ESTA VARIABLE EN LA CLASE DEL JFrame: Inicio.java ¿COMO HAGO PARA LEER EN OTRAS CLASES LAS VARIABLES Q SETEO EN UNA CLASE ESPECIFICA?
Gracias a todos.