Получение java.sql.SQLException: неверный индекс столбца при вставке в таблицу - PullRequest
2 голосов
/ 22 февраля 2011

Я работал с фрагментом кода, где java.sql.SQLException: Invalid column index выбрасывается на runtime.

Я работал несколько раз в прошлом с этим исключением, и каждый раз, когда я обнаруживаю, что разработчик использовал неправильноиндексы при использовании rs.getsString() метода.

Но моя проблема на этот раз в том, что я получаю это исключение при вставке записей в таблицу.Кто-нибудь может подсказать, в чем причина, почему я получаю это исключение при вставке в базу данных?

Также я не могу видеть, что запрос выполняется во время исключения, потому что используется драйвер (oracleдрайверы) не печатать запрос, когда я пытаюсь использовать prepareStmt.toString().Этот метод вместо этого печатает ссылку на объект.

Пожалуйста, помогите.Любая помощь высоко ценится.

С наилучшими пожеланиями Anubhav Jain!

Ответы [ 2 ]

2 голосов
/ 22 февраля 2011

Я предполагаю, что проблема в том, что вы устанавливаете XXXX для подготовленного оператора с неверным индексом (например, 0 или больше, чем число «?» В операторе SQL)

1 голос
/ 20 февраля 2013

Я тоже сталкивался с такой же проблемой. Позже я узнал, что в моей строке запроса я использовал кавычки вокруг ? символа, что недопустимо.

Например:
insert into document_table(ID, SOURCE, DESTINATION, STATUS) values(<strong>'?'</strong>,'Active','Backup' ,'D')

является недопустимым. Это должно было быть записано как:
insert into document_table(ID, SOURCE, DESTINATION, STATUS) values(<strong>?</strong>,'Active','Backup' ,'D')

...