欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql-下面的Java代码有问题吗

程序员文章站 2022-04-19 09:48:44
...
mysqljava数据库

public class Regist extends JFrame implements ActionListener {

/** *  */private static final long serialVersionUID = 1L;private JPanel contentPane;private JTextField text_confirm;private JTextField text_usr;private JTextField text_pwd;private JButton btn_save,btn_cancel;private JLabel user,passwd,confirm;private Connection conn;private Statement statement;/** * Launch the application. */public static void main(String[] args) {    EventQueue.invokeLater(new Runnable() {        public void run() {            try {                Regist frame = new Regist();                frame.setVisible(true);            } catch (Exception e) {                e.printStackTrace();            }        }    });}/** * Create the frame. */public Regist() {    super("注册新用户");    this.setDefaultCloseOperation(EXIT_ON_CLOSE);    this.setVisible(true);    setBounds(100, 100, 450, 300);    contentPane = new JPanel();    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));    setContentPane(contentPane);    contentPane.setLayout(null);    user = new JLabel("用  户  名");    user.setBounds(57, 36, 54, 15);    contentPane.add(user);    passwd = new JLabel("密       码");    passwd.setBounds(57, 76, 54, 15);    contentPane.add(passwd);    confirm = new JLabel("确认密码");    confirm.setBounds(57, 121, 54, 15);    contentPane.add(confirm);    text_usr = new JTextField();    text_usr.setBounds(141, 33, 155, 21);    contentPane.add(text_usr);    text_usr.setColumns(10);    text_pwd = new JTextField();    text_pwd.setBounds(141, 73, 155, 21);    contentPane.add(text_pwd);    text_pwd.setColumns(10);    text_confirm = new JTextField();    text_confirm.setBounds(141, 118, 155, 21);    contentPane.add(text_confirm);    text_confirm.setColumns(10);    btn_save = new JButton("确定");    btn_save.setBounds(79, 171, 93, 23);    contentPane.add(btn_save);    this.btn_save.addActionListener(this);    btn_cancel = new JButton("取消");    btn_cancel.setBounds(256, 171, 93, 23);    contentPane.add(btn_cancel);    this.btn_cancel.addActionListener(this);}public Connection getConnection() throws SQLException {    try {        Class.forName("com.mysql.jdbc.Driver");    } catch (ClassNotFoundException e) {        e.printStackTrace();    }    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sign","root","514519");    return conn;}@Overridepublic void actionPerformed(ActionEvent e) {    if(e.getSource()==btn_save){        if(text_usr.getText().isEmpty()&&text_pwd.getText().isEmpty())            JOptionPane.showMessageDialog(this, "请填写用户名和密码");        String sql="insert into signs values ('"+text_usr.getText()+","+text_pwd.getText()+"')";        try {               conn=getConnection();        } catch (SQLException e1) {            e1.printStackTrace();        }        try {            statement=conn.createStatement();        } catch (SQLException e1) {            e1.printStackTrace();        }        try {            statement.executeUpdate(sql);        } catch (SQLException e1) {            e1.printStackTrace();        }        try {            statement.close();        } catch (SQLException e2) {            e2.printStackTrace();        }        try {            conn.close();        } catch (SQLException e1) {            e1.printStackTrace();        }    }       if(e.getSource()==btn_cancel){    }}

}
运行的时候说Column count doesn't match value count at row 1
我数据库中的user 和password都是varchar类型
还有就是这行代码中的引号问题 String sql="insert into signs values ('"+text_usr.getText()+","+text_pwd.getText()+"')"; 新手有点迷糊 求帮助