java - 列计数与第 1 行的值计数不匹配 - Java SQL

标签 java mysql database

<分区>

我收到“列数与第 1 行的值数不匹配”的消息,但我似乎无法修复它。我尝试更改引号和数据类型,但仍然没有成功。谁能看出我哪里出错了?

public void actionPerformed(ActionEvent arg0) {
            if(!textField.getText().isEmpty() && !textField_1.getText().isEmpty() && !textField_2.getText().isEmpty() && !textField_3.getText().isEmpty() && !textField_4.getText().isEmpty() && !textField_5.getText().isEmpty() && !textField_6.getText().isEmpty() && !textField_7.getText().isEmpty())
            {
                String moduleName = textField.getText();
                String studId = textField_1.getText();
                String sFName = textField_2.getText();
                String sLName = textField_3.getText();
                int weekNo = Integer.parseInt(textField_4.getText());
                int lAttend = Integer.parseInt(textField_5.getText());
                int tAttend = Integer.parseInt(textField_6.getText());
                int wAttend = Integer.parseInt(textField_7.getText());

                lh.addStud(moduleName, studId, sFName, sLName , weekNo, lAttend, tAttend, wAttend);
            }
            else
            {
                lblNewLabel_4.setText("You have Missing Field");
            }
            fillDB();
           }
        });

下面是我的查询:

String aSQuery = "INSERT INTO Group6_Register VALUES ('" + moduleName + "', '" + studId + "', '" + sFName + "', '" +  sLName +"', '" +  weekNo + "', '" +  lAttend + "', '"  + tAttend + "', '" + wAttend + "')";
            statements = connection.prepareStatement(aSQuery);
            statements.executeUpdate();

最佳答案

"Column count doesn't match value count at row 1"

通常发生在您在 values 子句中定义的列与您的实际表列不匹配时。

假设你的表有 4 个列,col1 col2 col3 col4

现在你只想将数据插入col2, col3, col4

你的插入语句应该是

Insert into table (col2, col3, col4) values(col2val, col3val, col3val)

但是,我强烈建议您使用PreparedStatement同时使用JDBC 执行sql 查询

   String query= "Insert into table (col2, col3, col4) Values(?,?,?)";
   Statement st = conn.preparedStatement(query);
   st.setString(1, col2value);
   st.setString(2, col3Val); 
   st.setString(3, col4Val);

关于java - 列计数与第 1 行的值计数不匹配 - Java SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13514912/

相关文章:

java - 如何更新 2 个组合框

java - Android 文本框,带有类似旋转的下拉菜单

MySQL 聚合列作为不同值的集合

php - 最多四个 <td>,然后开始新的 <tr>(MySQL 查询)

sql - 执行简单查询(ORACLE)的多种独特方法?

java - getSubimage(...) 如何工作?

java - 使用 iText 从 Java 中的 Html 文件生成 pdf 时出错

mysql - 如何修复 `unknown variable ' sql-mode=ANSI'`?

mysql - 批量 MYSQL 插入以提高数据库结构迁移的性能

MYSQL 查询 - 尝试从外部 MySQL 数据库构建 HTML 表