java连接数据库,将值与数据库内数据比较,为什么明明是一样的结果返回不一样。内置代码
我的代码是做登录,先判断有没有这个qq,有这个qq就判断密码是否匹配。然后我这段代码输入正确的qq可以进行输入密码操作,然后密码输正确了却返回告诉我密码输入错了。然后我把...
我的代码是做登录,先判断有没有这个qq,有这个qq就判断密码是否匹配。然后我这段代码输入正确的qq可以进行输入密码操作,然后密码输正确了却返回告诉我密码输入错了。然后我把数据库内的密码打印出来发现密码前有一个空格,然后我把空格也带上,再次输入密码,结果还错误。有人说判断要用equals,好像也不行啊,下面是我的表
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class Login {
public void loginMethod(Statement stmt){
LoginDate logindate = new LoginDate();
System.out.println("请输入您的QQ号码");
Scanner scan = new Scanner(System.in);
logindate.loginqq = scan.nextInt();
scan.nextLine();
//连接数据库查找是否有这一条
String sql = "SELECT *FROM qquser WHERE qqNum = 6400670";
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
//if(rs.getString(2).equals(logindate.loginkey))
try {
rs.first();
if(rs.getInt(1) == logindate.loginqq){//账号存在密码正确
System.out.println("请输入您的QQ密码:");//账号存在的话,进一步判断密码
logindate.loginkey = scan.nextLine();//输密码
System.out.println("rs.getString(2)......."+rs.getString(2));
System.out.println("输入的logindate.loginkey........"+logindate.loginkey);
//判断密码
try {
if(rs.getString(2) == logindate.loginkey){
System.out.println("登陆成功");
//登陆成功后,在通过下一步显示好友等列表
}
else{
System.out.println("密码错误");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
if(rs.getInt(1) != logindate.loginqq){//账号不存在或者密码不对,返回false
System.out.println("QQ号码不存在");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class LoginDate{
static int loginqq;
static String loginkey;
}
//连接数据库查找是否有这一条
String sql = "SELECT *FROM qquser WHERE qqNum = 6400670";
这里改成什么样子才能查找输入的QQ号? 展开
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class Login {
public void loginMethod(Statement stmt){
LoginDate logindate = new LoginDate();
System.out.println("请输入您的QQ号码");
Scanner scan = new Scanner(System.in);
logindate.loginqq = scan.nextInt();
scan.nextLine();
//连接数据库查找是否有这一条
String sql = "SELECT *FROM qquser WHERE qqNum = 6400670";
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
//if(rs.getString(2).equals(logindate.loginkey))
try {
rs.first();
if(rs.getInt(1) == logindate.loginqq){//账号存在密码正确
System.out.println("请输入您的QQ密码:");//账号存在的话,进一步判断密码
logindate.loginkey = scan.nextLine();//输密码
System.out.println("rs.getString(2)......."+rs.getString(2));
System.out.println("输入的logindate.loginkey........"+logindate.loginkey);
//判断密码
try {
if(rs.getString(2) == logindate.loginkey){
System.out.println("登陆成功");
//登陆成功后,在通过下一步显示好友等列表
}
else{
System.out.println("密码错误");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
if(rs.getInt(1) != logindate.loginqq){//账号不存在或者密码不对,返回false
System.out.println("QQ号码不存在");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class LoginDate{
static int loginqq;
static String loginkey;
}
//连接数据库查找是否有这一条
String sql = "SELECT *FROM qquser WHERE qqNum = 6400670";
这里改成什么样子才能查找输入的QQ号? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询