我正在尝试执行下面的 SQL 插入语句,但遇到了下面列出的错误。希望能给一些建议,谢谢。
public void addSale(String saleDetails, String saleTotal)
throws ClassNotFoundException, SQLException {
Statement myStatement = getConnection();
String sql = "INSERT INTO Sale (SaleDetails, SaleTotal) VALUES ('"+saleDetails+"','"+saleTotal+"')";
myStatement.executeUpdate(sql);
closeConnection();
}
}
错误:
Java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 查询值和目标字段的数量不同。 在 sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956) 在 sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113) 在 sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3109) 在sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:337) 在sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:287)
这是 ms-access 的设计 View :
最佳答案
执行System.out.println(sql);
或使用您的日志框架并直接在 Access 中尝试该语句。您可能会遇到 odbc 上不同数据类型的问题。否则,该声明对我来说看起来不错。
也许您的变量包含 '
和/或逗号。如果不进行转义,这也可能会导致问题。您应该考虑使用参数绑定(bind)。
关于java - ms access 中查询值和目标字段的数量不相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13326367/