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号?
展开
 我来答
piz168
2015-02-17 · 超过15用户采纳过TA的回答
知道答主
回答量:43
采纳率:100%
帮助的人:22.6万
展开全部
//判断密码
try {

if(rs.getString(2) == logindate.loginkey){
System.out.println("登陆成功");
//登陆成功后,在通过下一步显示好友等列表
}

rs.getString(2) == logindate.loginkey 改成
if(rs.getString(2).equals( logindate.loginkey))
更多追问追答
追问

还是不行啊...

追答
rs.getString(2) 得到的123asd123前面是不是有个空格?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式