因此,当我介绍了一个错误的用户名和密码,它应该只显示我的消息:"Intente Otra vez"
下面是我的代码:
try {
String usuario=txtUsu.getText();
String password=contrasena.getText();
ModeloExcel modeloE = new ModeloExcel();
//loginAS400
if(modeloE.loginAS400( usuario, password)==true){
VistaExcel vistaE = new VistaExcel(usuario, password);
ControladorExcel contraControladorExcel = new ControladorExcel(vistaE, modeloE);
try {
modeloE.loginAS400(usuario, password);
} catch (SQLException ex) {
Logger.getLogger(VistaLogin.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(VistaLogin.class.getName()).log(Level.SEVERE, null, ex);
}
vistaE.setVisible(true);
vistaE.setLocationRelativeTo(null);
this.setVisible(false);
} else if(modeloE.loginAS400( usuario, password)==false){
JOptionPane.showMessageDialog(null,"Intente otra vez");
txtUsu.setText("");
System.exit(0);
}
} catch (SQLException ex) {
Logger.getLogger(VistaLogin.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(VistaLogin.class.getName()).log(Level.SEVERE, null, ex);
}
和登录名AS400:
public static boolean loginAS400(String usuario, String contrasena) throws SQLException, IOException {
String serverAS400 = "ip";
Driver d=new com.ibm.as400.access.AS400JDBCDriver();
DriverManager.registerDriver(d);
Connection connectionAS400 = DriverManager.getConnection("jdbc:as400://" + serverAS400, usuario, contrasena);
if (connectionAS400!=null) {
return true;
} else {
return false;
}
}
It shows me this...
但是正如你所看到的,它向我显示了as400登录错误。并且在每次取消或退出后都会不断显示。只有在几次取消后,程序才会关闭并让我返回到我项目中的登录。
所以我想知道是否有什么我可以做的,使它不显示我的AS400程序登录。
2条答案
按热度按时间efzxgjgh1#
查看https://www.ibm.com/docs/en/i/7.3?topic=ssw_ibm_i_73/rzahh/javadoc/com/ibm/as400/access/doc-files/JDBCProperties.htm的文档,我发现提示符JDBC属性应该可以完成这个任务。
在JDBC URL上使用提示符=false,即
pgx2nnw82#
Java中的AS400用户名和密码验证。(输入错误凭据时出现问题)
看起来您没有收到错误消息是因为您的代码执行从未进入该代码块,因为类型Connection的connectionAS400变量不为空,即使用户不正确,您也需要检查connectionAS400中包含的负值。
getConnection返回一个url或异常,你可以在这里查看开发者参考:DriverManager Java开发人员参考