【发布时间】:2020-09-17 14:01:30
【问题描述】:
private void DN_ButtonActionPerformed(java.awt.event.ActionEvent evt) {
if(tenDN.getText().equals("")){
JOptionPane.showMessageDialog(this, "Dien ten dang nhap");
}else if(Matkhau.getText().equals("")){
JOptionPane.showMessageDialog(this, "Dien mat khau");
}else {
try {
String DB_URL = "jdbc:sqlserver://localhost;"
+ "databaseName=QLSinhVien;"
+ "user=sa;"
+ "password=123";
Connection conn = DriverManager.getConnection(DB_URL);
String sql;
sql = "SELECT * FROM SINHVIEN"
+ "WHERE TENDN = ? AND MATKHAU = HASHBYTES('MD5',?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, tenDN.getText());
ps.setString(2, Matkhau.getText());
System.out.println("a");
ResultSet rs = ps.executeQuery();
System.out.println("e");
if(rs.next()){
JOptionPane.showMessageDialog(this,"Dang nhap thanh cong");
}else{
sql = "SELECT * FROM NHANVIEN"
+ "WHERE TENDN = ? AND MATKHAU = HASHBYTES('SHA1',?)";
ps = conn.prepareStatement(sql);
ps.setString(1, tenDN.getText());
ps.setString(2, Matkhau.getText());
rs = ps.executeQuery();
System.out.println(sql);
if(rs.next()){
JOptionPane.showMessageDialog(this,"Dang nhap thanh cong");
}else{
JOptionPane.showMessageDialog(this,"Ten dang nhap va mat khau khong hop le");
}
}
} catch (Exception ex) {
System.out.println(ex);
}
}
}
我不知道这段代码有什么问题。请帮帮我 !!!!! 我使用了 NetBeans 和 SQL Server 2019
【问题讨论】:
-
您是否尝试查看documentation?
-
打印出最终的 sql 查询,然后将其复制到剪贴板并粘贴到您的 sql server 中。之后,执行您的查询并纠正您的错误。
-
关闭已经使用的准备好的语句和结果集,一般来说,完成后关闭所有;如果您使用的是 java >= 8,则可以使用 try-with-resource
-
SELECT * FROM SINHVIEN WHERE TENDN = ? AND MATKHAU = HASHBYTES('MD5',?) 为什么接收不到 getText() 的值?哪里出了问题?
-
我已经完成了
标签: java sql-server