NetBeans - 按钮选择数据库,否则
Posted
技术标签:
【中文标题】NetBeans - 按钮选择数据库,否则【英文标题】:NetBeans - button select database else if 【发布时间】:2015-07-21 03:56:11 【问题描述】:我想在netbeans的数据库使用按钮中调用id和密码,所以我这样做了
private void loginActionPerformed(java.awt.event.ActionEvent evt)
try
String sql="select *from login where ID = '"+id.getText()+"'and Password = '"+String.valueOf(pass.getPassword())+"'and Status ='"+pilih1.getSelectedItem().toString()+"'";
ResultSet rss1=st.executeQuery(sql);
if ((rss1.next())&&(pilih1.getSelectedItem().toString() == "Pasien"))
pasien1 = new pasien1();
pasien1.setVisible(true);
this.dispose();
System.out.println("haha");
else if ((rss1.next())&&(pilih1.getSelectedItem().toString() == "Dokter"))
dokter1 = new dokter1();
dokter1.setVisible(true);
this.dispose();
else if ((rss1.next())&&(pilih1.getSelectedItem().toString() == "Staff"))
staff1 = new staff1();
staff1.setVisible(true);
this.dispose();
else
JOptionPane.showMessageDialog(null, "Gagal Login");
catch (Exception e)
JOptionPane.showMessageDialog(null, "Terjadi Kesalahan");
这个源代码可以编译我没有错误 但是为什么这段代码只能执行 if 和 else 而不能执行 else if 给出解决方案。 . .
【问题讨论】:
google 用于 java 中的字符串比较 【参考方案1】:这里有两个主要问题:
-
Java 中的
String
s 是对象,因此需要与equals
方法进行比较,而不是==
运算符,它检查对象identity,而不是equality .
调用ResultSet.next()
将使光标前进,因此您应该在if-else 结构之前 执行此操作。在当前代码中,每次评估其中一个条件时,光标都会前进,这不是您想要的行为。
简而言之:
ResultSet rss1=st.executeQuery(sql);
boolean hasResults = rss1.next()
if (hasResults && pilih1.getSelectedItem().toString().equals("Pasien"))
pasien1 = new pasien1();
pasien1.setVisible(true);
this.dispose();
System.out.println("haha");
else if (hasResults && pilih1.getSelectedItem().toString().equals("Dokter"))
dokter1 = new dokter1();
dokter1.setVisible(true);
this.dispose();
else if (hasResults && pilih1.getSelectedItem().toString().equals("Staff"))
staff1 = new staff1();
staff1.setVisible(true);
this.dispose();
else
JOptionPane.showMessageDialog(null, "Gagal Login");
【讨论】:
以上是关于NetBeans - 按钮选择数据库,否则的主要内容,如果未能解决你的问题,请参考以下文章
使用 Javafx(netbeans) 在 SQLITE 数据库中插入 PDF 或任何类型的文件
如何在netbeans java中将图像插入mysql数据库