java swing做的登陆界面,怎样判断数据库中用户名和密码?
之前代码用户名和密码是定死的,现在想改成从数据库的表中读出Name和Password字段与文本框里输入的比较。。在网上差了很多,说要查询数据库,遍历第一个字段。。请问代码应该怎么改啊,本人基础差。。还请各位帮帮忙
原来的代码需要判断的地方是:
public void btnOK_actionPerformed(ActionEvent e) {
if("jyf".equals(this.txtUserName.getText())&&"123".equals(new String(this.txtPWD.getPassword()))){
System.out.println(this.txtUserName.getText()+this.txtPWD.getPassword());
this.setFlag(true);
boolean packFrame = false;
MainUiFrame frame = new MainUiFrame();
// Validate frames that have preset sizes
// Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame) {
frame.pack();
} else {
frame.validate();
}
数据库链接文件写好的
package com.finance.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
import java.sql.*;
public class DataBase {
private static Connection con = null;
public static Connection getCon(){
try {
if (con == null) {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:finance", "sa", "sa");
}
} catch (SQLException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
return con;
}
}
表名为user 中有两个字段Name和Password
十分谢谢,还有点不懂,因为我的登录页面和数据库连接是两个文件,DataBase.java Login.java,那个方法加在数据库文件里那if判断该如何改?
public boolean loginByNameAndPassword(String name,String password){
String sql = "select * from tbl_user where Name='"+name+"' and Password='"+password+"'";
try{
Connection connection = this.getCon();
PreparedStatement pstat = connection.prepareStatement(sql);
ResultSet rs = pstat.executeQuery();
if(rs.next()){
return true;
}
}catch(Exception e){
System.out.println(e.getMessage());
return false;
}
return false;
}
有什么不明白的再联系我吧。
public boolean loginByNameAndPassword(String name,String password){
String sql = "select * from tbl_user where Name='"+name+"' and Password='"+password+"'";
try{
Connection connection = this.getCon();
PreparedStatement pstat = connection.prepareStatement(sql);
ResultSet rs = pstat.executeQuery();
if(rs.next()){
return true;
}
}catch(Exception e){
System.out.println(e.getMessage());
return false;
}
return false;
}
有什么不明白的再联系我吧。