2010-06-14 2 views
0

Я использую следующий код для загрузки ключевых слов & count в файл Excel. У меня есть keyword_id в качестве первичного ключа для этого. У меня есть два столбца в файле Excel. 1.keyword и 2.countПочему я получаю сообщение об ошибке SQLException: [Microsoft] [драйвер ODBC Excel] Слишком мало параметров. Expected 1

Мой код:

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) 

ответ

2

перепроверить имена столбцов в запросе. В таблице SEARCHABLE_KEYWORDS имеются столбцы KEYWORD_ID, KEYWORD и COUNT? Насколько я знаю, это сообщение об ошибке часто вызывает опечатки или неправильное написание имен столбцов.

Как упомянуто mikej, вы также должны не использовать зарезервированные ключевые слова внутри своих заявлений, не помещая их в кавычки. Этот совет относится к вашей колонке с именем COUNT.

0

Вы определяете в своем SQL вставку для двух значений, но вы выбираете три.

insert into SEARCHABLE_KEYWORDS (keyword_id,keyword,count) values ('"+ "select Searchable_Keywords_sequence.nextval from dual"+ "','"+keyword+ "','"+count+"')") `

3

count зарезервированное ключевое слово, так что если у вас есть столбец в вашем SEARCHABLE_KEYWORDS таблице под названием count, то вам нужно поставить колонку имя в двойных кавычках (")

+0

Хороший вопрос, не понял, что при написании моего ответа! – stefanglase

Смежные вопросы