我无法在Glassfish服务器上使用Java和JSP将数据插入Apache Derby数据库。当我尝试这样做时,出现错误:


java.sql.SQLSyntaxErrorException:分配的值数量与指定或隐含列的数量不同。


但是我看不到错误在哪里,因为据我所知我正在使用正确的值。相关的代码段是:

 String sql2 = "INSERT INTO APP.USERS (emailAddress, firstName, lastName, password) VALUES ('?', '?', '?', '?', '?')";
        PreparedStatement statement2 = connection.prepareStatement(sql2);
        int test = 0;
        statement2.setInt(0, test);
        statement2.setString(1, emailAddress);
        statement2.setString(2, firstName);
        statement2.setString(3, lastName);
        statement2.setString(4, password);
        statement2.executeUpdate();

最佳答案

不要将问号放在单引号中。您的VALUES子句应类似于VALUES(?,?,?,?)

10-02 10:25