java - SQLException : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. 应为 1

标签 java odbc dao

我正在 access 数据库中搜索项目代码并返回项目对象,如下面的代码所示。任何关于我为什么会收到此错误的建议都将不胜感激。谢谢

public Item getIteminfo(String itemCode) throws ClassNotFoundException, SQLException {
     Statement myStatement = getConnection();
     Item item = null;
     String itemDescription;
     int itemPrice;
     String sql = "SELECT * FROM itemCatalog WHERE ItemCode = '"+itemCode+"'";
     ResultSet results = myStatement.executeQuery(sql);

     while (results.next()){
         itemDescription = results.getString("Item Description");
         itemPrice = results.getInt("Item Price");
         item = new Item(itemDescription, itemPrice);
     }
     closeConnection();
     return item;
 }
}

这是错误的详细信息:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)
    at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3109)
    at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:337)
    at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:252)
    at checkoutsimulation.DAO.getIteminfo(DAO.java:49)
    at checkoutsimulation.ItemCatalog.getItemdetails(ItemCatalog.java:61)

最佳答案

我对 Java 或 ODBC 不是很熟悉,但我知道数据库不接受带有空格的列名。

尝试将列名称括在方括号中。

itemDescription = results.getString("[项目描述]");

关于java - SQLException : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. 应为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13300876/

相关文章:

java - jpa、tomcat 和 servlet 出错

c++ - 输出参数未填充 MSSQL ODBC

mysql - 无法重新连接到链接表 ODBC VBA

java - 在 postgres jdbc 驱动程序中记录准备好的 sql 语句

Java 定时器不工作

oracle - 使用 ODBC 连接从 Excel VBA 宏更新 Oracle 表

java - 为数据库以外的数据源设计 DAO

java - Hibernate注解对象映射

ms-access - 运行时错误 '3264' Access 2010 VBA

java - IN 子句中的 Hibernate 标准 DB2 复合键