为什么我会收到错误SQLException: 参数太less。 预期1
我正在使用以下代码上传关键字&计数到Excel文件。 我有一个关键字keyword_id
作为主键。 我在Excel文件中有两列。 1.关键字和2.count
我的代码是:
while (rs.next()) { System.out.println("inside "); String keyword = rs.getString(1); int count = rs.getInt(2); System.out.println("insert into SEARCHABLE_KEYWORDS values ('"+ keyword+"','"+count+"')"); stmtdb.execute("insert into SEARCHABLE_KEYWORDS (keyword_id,keyword,count) values ('"+ "select Searchable_Keywords_sequence.nextval from dual"+ "','"+keyword+"','"+count+"')"); System.out.println(keyword + " " + keyword+" count "+count); }
但我收到以下错误:
java.sql.SQLException: [Microsoft][ODBC Excel Driver] Too few parameters. Expected 1. at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6998) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7155) at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3151) at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:378) at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:284) at keywordsreader.main(keywordsreader.java:42)
count
是一个保留关键字,所以如果你的SEARCHABLE_KEYWORDS
表中有一列叫count
那么你需要把列名放在双引号(“)中。
在查询中双击列名称。 表SEARCHABLE_KEYWORDS
是否有KEYWORD_ID
, KEYWORD
和COUNT
列? 据我所知,这个错误信息往往是由你的列名错别字或拼写错误造成的。
正如mikej所提到的,你也应该确保不要在你的语句中使用保留关键字而不用引号。 此提示适用于名称为COUNT
列。
你在你的SQL中为两个值定义了一个插入,但是你select了三个。
insert into SEARCHABLE_KEYWORDS (
keyword_id,keyword,count
) values ('"+
"select Searchable_Keywords_sequence.nextval from dual"+
"','"+keyword+
"','"+count+"')")
"select Searchable_Keywords_sequence.nextval from dual"+
"','"+count+"')")