Java 变量的损失值
我正在用SQL Server做一个登录表单,使用三层架构,我调试了这个项目,基本上它是这样工作的:我把用户和密码放在jframe中,用户和密码被发送到BL方法,然后发送到DA,当我正确地放置用户和密码时,执行查询,“resultado”值为1,然后它返回到GUI,但当其验证的“getResultado”时,“resultado”的值为0,因此我无法登录 这是我的GUI方法:Java 变量的损失值,java,sql,Java,Sql,我正在用SQL Server做一个登录表单,使用三层架构,我调试了这个项目,基本上它是这样工作的:我把用户和密码放在jframe中,用户和密码被发送到BL方法,然后发送到DA,当我正确地放置用户和密码时,执行查询,“resultado”值为1,然后它返回到GUI,但当其验证的“getResultado”时,“resultado”的值为0,因此我无法登录 这是我的GUI方法: u.validarLogin(jtxtUsuario.getText(), String.valueOf(jpsfCont
u.validarLogin(jtxtUsuario.getText(), String.valueOf(jpsfContrasenia.getPassword()));
if (admin.getResultado() == 1) {
new jfrmInterno().setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "El nombre de usuario ingresado no coincide con ninguna cuenta", "", JOptionPane.ERROR_MESSAGE);
jtxtUsuario.setText("");
jpsfContrasenia.setText("");
}
}
这是我的BL方法:
public void validarLogin(String user, String pass) {
if (user != null && pass != null) {
admin.setUsuario(user, pass);
}else {
System.out.println("Incorrecto");
}
}
这是我的DA方法:
public int setUsuario(String user, String pass) {
this.getConexion();
String usuario = user;
String password = pass;
try {
Statement ejecutor = cn.createStatement();
ResultSet rs = ejecutor.executeQuery("SELECT * FROM [dbo].[Login] where NombreUsuario = '" + usuario + "' AND Contrasenia= '" + password + "'");
if (rs.next()) {
resultado = 1;
} else {
resultado = 0;
}
} catch (Exception e) {
}
return resultado;
}
public int getResultado() {
return resultado;
}
要简化代码,请这样做;
1.将返回类型添加到BL方法中
public int validarLogin(String user, String pass) {
int resultado = 0;
if (user != null && pass != null) {
resultado = admin.setUsuario(user, pass);
}else {
System.out.println("Incorrecto");
}
return resultado;
}
如果有任何输入错误,请原谅。您是否在调用setUsuario的同一对象上调用getResultado?
int resultado = u.validarLogin(jtxtUsuario.getText(), String.valueOf(jpsfContrasenia.getPassword()));
if (resultado == 1) {
new jfrmInterno().setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "El nombre de usuario ingresado no coincide con ninguna cuenta", "", JOptionPane.ERROR_MESSAGE);
jtxtUsuario.setText("");
jpsfContrasenia.setText("");
}
}