| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3223 人关注过本帖
标题:登入界面账号密码是访问数据库,但登入问题时if判断时就是执行不了
取消只看楼主 加入收藏
张贤明
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2018-3-3
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
登入界面账号密码是访问数据库,但登入问题时if判断时就是执行不了
while(res.next()){
            System.out.println(res.getString("userid"));
            if(drzh.getText().equals(res.getString("userid"))){     //这个老是不执行
            System.out.println(0);
            if((drmm.getText()).equals(res.getString("password"))){
            view.setText("登入成功");
            System.out.println("1");
                }

那个if语句中判断账号正确与否就是不执行


完整程序为
import java.awt.*;
import java.awt.event.*;
import *;
import *;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.*;

public class test{
    public void Dframe(){
    JFrame dr=new JFrame("登入界面");
    dr.setLayout(null);
    dr.setBounds(700,100,200,200);
    Container con1=dr.getContentPane();
    dr.setVisible(true);
   
    JLabel lable1=new JLabel("账号");
    lable1.setBounds(0,20,100,20);
    con1.add(lable1);
   
    final JTextField drzh=new JTextField();
    drzh.setBounds(30,20,100,20);
    drzh.setBackground(Color.yellow);
    con1.add(drzh);
   
    final JLabel lable2=new JLabel("密码");
    lable2.setBounds(0,40,100,20);
    con1.add(lable2);
   
    final JTextField drmm=new JTextField();
    drmm.setBounds(30,40,100,20);
    drmm.setBackground(Color.yellow);
    con1.add(drmm);
   
    final JButton drbt=new JButton("登入");
    drbt.setBounds(40,70,60,20);
    drbt.setBackground(Color.blue);
    con1.add(drbt);
   
    final JLabel view=new JLabel();                                    //创建错误提示框
        view.setBounds(40, 100, 200,21);
        con1.add(view);
   
    drbt.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
        Connection con;
        final ResultSet res;
        try {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        System.out.println("驱动加载成功");
        con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=ADM","sa","sa");
        System.out.println("数据库连接成功");
        String sql="select * from USERINTO";
      PreparedStatement stmt=con.prepareStatement(sql);
        res=stmt.executeQuery();
        while(res.next()){
            System.out.println(res.getString("userid"));
            if(drzh.getText().equals(res.getString("userid"))){
            System.out.println(0);
            if((drmm.getText()).equals(res.getString("password"))){
            view.setText("登入成功");
            System.out.println("1");
                }
                else{view.setText("密码错误");System.out.println("2");}
                break;
            }
            //view.setText("账号不存在");
        
        }

        } catch (Exception e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }
    });

    }
    public static void main(String args[]){
        test main=new test();
        main.Dframe();
   
    }
}
搜索更多相关主题的帖子: res System out println new 
2018-05-23 20:57
张贤明
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2018-3-3
收藏
得分:0 
回复 2楼 林月儿
我按着你的方法试了下,可还是这个判断不能执行                    if(password.equals(drmm.getText())){
                                                                       view.setText("登入成功");

完整代码如下:
import java.awt.*;
import java.awt.event.*;
import *;
import *;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.*;

public class test{
    public void Dframe(){
    JFrame dr=new JFrame("登入界面");
    dr.setLayout(null);
    dr.setBounds(700,100,200,200);
    Container con1=dr.getContentPane();
    dr.setVisible(true);
   
    JLabel lable1=new JLabel("账号");
    lable1.setBounds(0,20,100,20);
    con1.add(lable1);
   
    final JTextField drzh=new JTextField();
    drzh.setBounds(30,20,100,20);
    drzh.setBackground(Color.yellow);
    con1.add(drzh);
   
    final JLabel lable2=new JLabel("密码");
    lable2.setBounds(0,40,100,20);
    con1.add(lable2);
   
    final JTextField drmm=new JTextField();
    drmm.setBounds(30,40,100,20);
    drmm.setBackground(Color.yellow);
    con1.add(drmm);
   
    final JButton drbt=new JButton("登入");
    drbt.setBounds(40,70,60,20);
    drbt.setBackground(Color.blue);
    con1.add(drbt);
   
    final JLabel view=new JLabel();                                    //创建错误提示框
        view.setBounds(40, 100, 200,21);
        con1.add(view);
   
    drbt.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
        Connection con;
        final ResultSet res;
        String password=null;
        try {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        System.out.println("驱动加载成功");
        con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=ADM","sa","sa");
        System.out.println("数据库连接成功");
         String sql="select password from USERINTO "+" where userid=?";
            PreparedStatement stmt=con.prepareStatement(sql);
            stmt.setString(1,drzh.getText());
            res=stmt.executeQuery();
            if(res.next()){
                password=res.getString("password");
            }
        
            con.close();
            res.close();
        } catch (Exception e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        
        if(password==null){
            view.setText("账号不存在");
        }else{
            //System.out.println("3"+drmm.getText());
            if(password.equals(drmm.getText())){
                //System.out.println("4"+drmm.getText());
                view.setText("登入成功");
            }else{
                view.setText("密码错误");
            }
        }
        }
    });

    }
    public static void main(String args[]){
        test main=new test();
        main.Dframe();
   
    }
}
2018-05-23 23:26
张贤明
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2018-3-3
收藏
得分:0 
回复 5楼 林月儿
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
2018-05-24 09:37
张贤明
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2018-3-3
收藏
得分:0 
回复 5楼 林月儿
发现问题了,就是数据库表格里的内容后面都是有空格的,所以一直对不上号,但我添加进去得东西每空格,怎么已添加完后再看就有了呢
2018-05-24 09:50
快速回复:登入界面账号密码是访问数据库,但登入问题时if判断时就是执行不了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018181 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved