1
回答
jdbc装载mysql数据库驱动程序验证用户输入的用户名和密码,编译出现错误?
终于搞明白,存储TCO原来是这样算的>>>   

java代码:

package Jdbc;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class ReadAndWriterUserPasswordDB{
 
private Connection conn;   //定义一个数据库连接对象
private Statement stmt;    //定义一个声明对象
private ResultSet rs;      //定义一个结果集对象
private String getresult = null;
@SuppressWarnings("unused")
private boolean passFlag = false;


//定义并实现一个方法,该方法完成数据库驱动程序的加载和完成数据库的连接
public  ReadAndWriterUserPasswordDB(){
try{
Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动程序
}catch(ClassNotFoundException ex){
ex.printStackTrace();
}
String url = "jdbc:mysql://localhost:3306/jdbc_1";//定义url
try{
conn = DriverManager.getConnection(url);//获得数据库的对象
stmt = conn.createStatement();//通过数据库连接对象建立数据库声明对象
}
catch(SQLException ex){
ex.printStackTrace();
}
}
//定义并实现一个方法,该方法读数据库并搜索与用户匹配的密码,
//如用户不存在或用户密码输入不正确,则设置标志passflag为false
public String readDB(String username,String password)throws Exception{
getresult = null;
//执行select语句,返回与username相同的密码
rs = stmt.executeQuery("select password from userlogin where username='"+username+"'");
if(rs.next()){
getresult = rs.getString("password");
if(getresult.equals(password)){
this.passFlag = true;
}
else{
this.passFlag = false;
}
}
else{
this.passFlag = false;
}
//如果没找到数据,返回null
 return  getresult;

}
//关闭数据库的链接
public void close()throws Exception{
rs.close();
stmt.close();
conn.close();

}


public static void main(String[] args) throws Exception{
ReadAndWriterUserPasswordDB readAndWriterUserPasswordDB=new ReadAndWriterUserPasswordDB();
 
readAndWriterUserPasswordDB.readDB("test","123456");
readAndWriterUserPasswordDB.close();
 
}



求大神,神解.

<无标签>
举报
菜鸟刘
发帖于2年前 1回/226阅
顶部