java - 如何解决 'java.sql.SQLException: Column count doesn' t match value count at row 1' 错误?

标签 java jdbc prepared-statement mysql-workbench

<分区>

我是 Java 的初学者,正在尝试向数据库中插入值。请找到附件中的代码

我有这两张表-

创建表 user_data(uname varchar(50) ,info varchar(1000),title varchar(100));

创建表用户(uname varchar(20), email varchar(20), pswd varchar(20), country varchar(20), state varchar(20), phone_no varchar(20));

public void actionPerformed(ActionEvent e) {

    if (e.getSource() == encode)
     {

        String s1 = ta.getText();
        //System.out.println(s1);
        String s2 = tf.getText();
        int i=0;
        String[] datas = new String[20];
        for (String line : ta.getText().split("\\n"))
        {
            datas[i]=line ;
            i=i+1;
        }
        StringBuilder strBuilder = new StringBuilder();
        for (int j = 0; j < i; j++) {
           strBuilder.append(datas[j]+'\n');
        }
        String newString = strBuilder.toString();
        //System.out.println(newString);

        String s3 = tf1.getText();

            try
           {
    Connection con=ConnectionProvider.getCon();
    AES a=new AES(newString,s2,0);
    //RSA rs = new RSA(newString);

    PreparedStatement ps=con.prepareStatement("INSERT INTO user_data (uname, info, title) VALUES (?,?,?,?)");
    ps.setString(1, st);
    ps.setString(2, newString);
    ps.setString(3, s3);
    ps.setString(4, s2);
    ps.executeUpdate(); 


    JOptionPane.showMessageDialog(null,"Database Updated");
    this.dispose();
    new reservations(st);
           }
            catch (Exception ex) 
            {
               System.out.println(ex);
           }
     }
    else if(e.getSource()== reset)
    {
        ta.setText("");
        tf.setText("");
        tf1.setText("");
    }
    else{
        this.dispose();
        new reservations(st);
    }
}

我希望插入值。请帮助我找到结果。

提前致谢。

最佳答案

UserData 表只有三个参数,但您尝试添加四个值。

INSERT INTO user_data (uname, info, title) VALUES (?,?,?,?)

关于java - 如何解决 'java.sql.SQLException: Column count doesn' t match value count at row 1' 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56385545/

相关文章:

php - 使用 PDO 准备好插入后获取最后一个插入 ID

java - hbase-site.xml 中的 zookeeper quorum 设置到底是什么?

java - 在Android Studio中构建项目时出现Java.exe错误

java - TimescaleDB 的插入速度比普通 postgresql 10 慢

java - JDBC——列函数的结果集值

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - 如何从准备好的语句中获取行数据,然后将其与 AJAX() 函数一起使用

java - JButton 保持焦点时间过长

java - 使用 Jasypt 加密和解密密码

java - 找不到文件 mysql-connector-java-5.1.13-bin.jar