setString获取不到数据库的值

下面是完整代码麻烦大佬们看看

package Test3;


import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLNonTransientException;
import java.sql.Statement;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.Spring;
import javax.swing.SpringLayout;
import javax.swing.border.EmptyBorder;
import javax.swing.SwingConstants;
import java.awt.FlowLayout;
import java.awt.Font;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.sql.DataSource;

public class Login<CarCard> extends JFrame implements ActionListener{
     
     
        private static final long serialVersionUID = 1L;
        
        private Login log;
        public Login(Login login) {
            // TODO 自动生成的构造函数存根
            this.log=login;
        }
        
        //定义控件
        JPanel jp1;
        JLabel id,pw,title;
        JButton login,restart;
        JTextField id_t;
        JPasswordField pw_t;
        SpringLayout springLayout = new SpringLayout();
        
        public Login() {
            init();
            this.setVisible(true);
            //窗口大小不可变
            setResizable(false);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
     
        private void init() {
            id = new JLabel("账号:");
            pw = new JLabel("密码:");
            title = new JLabel("学生信息管理系统");
            jp1 = new JPanel(springLayout);
            id_t = new JTextField(15);
            pw_t = new JPasswordField(15);
            login = new JButton("登录");
            restart = new JButton("重置");
            //监听jb1按钮
            login.addActionListener(this);
            restart.addActionListener(this);
            
            //获取内容面板
            Container contentPane = getContentPane();
            id_t.setPreferredSize(new Dimension(200,30));
            pw_t.setPreferredSize(new Dimension(200,30));
            //jpanel.add(title,jpanel.CENTER_ALIGNMENT);
            jp1.add(id);
            id.setPreferredSize(new Dimension(200,30));
            jp1.add(id_t);
            jp1.add(pw);
            pw_t.setPreferredSize(new Dimension(200,30));
            jp1.add(pw_t);
            jp1.add(login);
            jp1.add(restart);
            jp1.add(title);
            
            id.setFont(new Font("微软雅黑",Font.PLAIN,18));
            pw.setFont(new Font("微软雅黑",Font.PLAIN,18));
            title.setFont(new Font("微软雅黑",Font.PLAIN,28));
            
            springLayout.putConstraint(springLayout.WEST, id, -100, springLayout.HORIZONTAL_CENTER, jp1);
            springLayout.putConstraint(springLayout.NORTH, id, -200, springLayout.HORIZONTAL_CENTER, jp1);
     
            //五个参数,控件的边,控件,距离,相对物品的边,相对物品
            springLayout.putConstraint(springLayout.WEST, id_t, -150, springLayout.EAST, id);
            springLayout.putConstraint(springLayout.NORTH, id_t, 0, springLayout.NORTH, id);
            
            springLayout.putConstraint(springLayout.WEST, pw_t, 0, springLayout.WEST, id_t);
            springLayout.putConstraint(springLayout.NORTH, pw_t, 0, springLayout.NORTH, pw);
            springLayout.putConstraint(springLayout.WEST, pw, -100, springLayout.HORIZONTAL_CENTER, jp1);
            springLayout.putConstraint(springLayout.NORTH, pw, -140, springLayout.HORIZONTAL_CENTER, jp1);
            //放置button,相对于中心
            springLayout.putConstraint(springLayout.EAST, login, 10, springLayout.HORIZONTAL_CENTER, jp1);
            springLayout.putConstraint(springLayout.NORTH, login, 40, springLayout.SOUTH, pw);
            springLayout.putConstraint(springLayout.WEST, restart, 40, springLayout.HORIZONTAL_CENTER, jp1);
            springLayout.putConstraint(springLayout.NORTH, restart, 40, springLayout.SOUTH, pw);
            //放置title
            springLayout.putConstraint(springLayout.WEST, title, -5, springLayout.WEST, id);
            springLayout.putConstraint(springLayout.SOUTH, title, -40, springLayout.NORTH, id);
            //将中间容器放入内容面板
            contentPane.add(jp1,BorderLayout.CENTER);
     
        }    
            //事件监听
        @Override
        public void actionPerformed(ActionEvent e) {
            //未连接数据库时测试用户名和密码
            //String ad = "admin";
            //String psw = "123456";
            
            //判断是否为重置按钮
            if (e.getSource() ==  restart) {
                id_t.setText("");
                pw_t.setText("");
            } 
            //登录
            if (e.getSource() == login) {
                //获取输入的账号密码
                String id_s = id_t.getText();
                String pw_s = pw_t.getText();
                //测试输入的账号密码是否获取成功
                System.out.print(id_t.getText());
                System.out.print(pw_t.getText());
                //定义用于获取用户名和密码的变量
                String  name = null;
                String pwd = null;
                        
                //定义连接数据库的变量
                
                Statement stat = null;
                Connection ct = null;
                PreparedStatement stmt =null;
                PreparedStatement pstm = null;    
                
                try{
    
                    //1.加载驱动
                    Class.forName("com.mysql.jdbc.Driver");
                    System.out.println("数据库加载成功");
                    
                    //2.连接数据库
                    //定义几个常量
                    String url = "jdbc:mysql://localhost:3306/students";
                    String user = "root";
                    String passwd = "123456";
                    
                    ct = DriverManager.getConnection(url,user,passwd);
                    
                    
                    
                    String sql = "select lname,lpws from login where lname = ? and lpws = ?";
                    System.out.println("数据库链接成功");
                    pstm = ct.prepareStatement(sql);
                    pstm.setString(1,"name");
                    pstm.setString(2,"pwd");
                    pstm.executeQuery();
                    //判断用户名密码是否获取成功
                    System.out.print(name);
                    System.out.print(name);
                
        
                    if(id_s.equals(name)){
                        if(pw_s.equals(pwd)){
                            StuMain stu =new StuMain();
                            this.dispose();
                        }else{JOptionPane.showMessageDialog(login, "密码错误!!!");}        
                                
                    }else{JOptionPane.showMessageDialog(login, "用户名不存在!!!");}
                
                        
                 
                } catch (ClassNotFoundException e1) {
                e1.printStackTrace();
                } catch (SQLException e1) {
                e1.printStackTrace();
                }finally{
                if(ct != null)
                try{//关闭连接
                ct.close();
                } catch (SQLException e1)
                {
                e1.printStackTrace();
                }
        }
                
                }//if的括号
            
        
        
        
        }//action这个类
        

}//z最大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值