Получение ошибки SQL Состояние SQL S1009
Я пытаюсь вставить значения в таблицу (запрос), первое значение имеет тип Дата, и я получаю ошибку SQL Состояние SQL S1009. Как правильно конвертировать дату, что я делаю не так?
String sqlStatement = "INSERT INTO inquiry (INQUIRY_DATE,INQUIRY_NOTE,INQUIRER_ID,PROGRAM_ID,CLASS_ID,CORPORATE_ID)\n"
+ "VALUES (?,?,?,?);";
ps = con.prepareStatement(sqlStatement);
java.sql.Date sDate = new java.sql.Date(inquiry.getInquiryDate().getTime());
int parameterIndex = 1;
ps.setDate(parameterIndex, sDate);
ps.setString(parameterIndex++, inquiry.getInquiryNote());
ps.setInt(parameterIndex++, inquiry.getInquirer().getInquirerID());
ps.setInt(parameterIndex++, inquiry.getProgramID());
ps.setInt(parameterIndex++, inquiry.getClassProgramID());
ps.setInt(parameterIndex++, 1);
1 ответ
Решение
sqlStatement = "INSERT INTO inquiry (INQUIRY_DATE,INQUIRY_NOTE,INQUIRER_ID,PROGRAM_ID,CLASS_ID,CORPORATE_ID)\n"
+ "VALUES (?,?,?,?);";
Параметризованному запросу не хватает ?
Вы запросили 6 столбцов с 2 ?
отсутствует, должно быть VALUES (?,?,?,?,?,?);
?
используются для хранения мест для ваших значений столбца setXXX()