setString获取不到数据库的值

  • Post author:
  • Post category:其他


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

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最大



版权声明:本文为qq_41098074原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。