关于这个问题我又重新写了一个方法如下
import com.atm.tools.ConnectBean;
import java.sql.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
private BufferedReader br = null;
private ResultSet rs = null;
private PreparedStatement ps=null;
public Test() {
}
public static void main(String[] args) {
Test t=new Test();
t.zhu();
}
public void zhu() {
System.out.println("**************ATM**************");
System.out.println("1.拥有帐户");
System.out.println("2.新用户注册");
String mm = input();
if ("1".equals(mm)) {
login();
} else if ("2".equals(mm)) {
reg();
} else {
System.out.println("输入有错误");
zhu();
}
//System.out.println("***********请选择功能************");
}
public void reg(){
System.out.println("注册");
System.out.println("username");
String name=input();
System.out.println("passwd");
String passwd=input();
ConnectBean conBean = new ConnectBean();//数据库连接类 ,没问题
Connection conn=conBean.getConnection();
if(conn==null){
System.out.println("连接数据库失败");
}
try {
ps = conn.prepareStatement("insert into users values(?,?)");
ps.setString(1,name);
ps.setString(2,passwd);
ps.executeUpdate();
} catch (SQLException ex) {
}finally{
try {
ps.close();
conn.close();
} catch (SQLException ex1) {
}
}
public void login(){
System.out.println("登陆");
System.out.println("username");
String name=input();
System.out.println("passwd");
String passwd=input();
ConnectBean conBean = new ConnectBean();
Connection conn=conBean.getConnection();
if(conn==null){
System.out.println("连接数据库失败");
}
try {
ps = conn.prepareStatement("select * from users where username=?");
ps.setString(1,name);
ResultSet rs=ps.executeQuery();
System.out.println("aaaa");
while(rs.next()){
String pwd=rs.getString(3);
System.out.println(pwd);
System.out.println(passwd);
System.out.println(passwd.equals(pwd));
}
} catch (SQLException ex) {
}finally{ //加与不加都试过了
try {
ps.close();
conn.close();
} catch (SQLException ex1) {
}
}
}
public String input() {
br = new BufferedReader(new InputStreamReader(System.in));
String s = new String();
try {
s = br.readLine();
} catch (IOException ex) {
}
return s;
}
}
}
情况是这样 如果用reg()方法添加的用户 则在login()里面判断为false;
如果手工在 users表中写如一条记录 用那条记录的username 和 passwd调用
login()方法 就为true
帮帮我吧