Задать вопрос
@Kvert007

Почему выводится ошибка при добавлении записи в MS SQL?

Есть кусок кода.(JAVA)
sql = "SET NOCOUNT OFF INSERT INTO USER_INFO_TCC (USR_LAST_NAME,USR_FIRST_NAME,USR_MIDDLE_NAME,USR_EMAIL,USR_UDF_ADLOGIN,USR_UDF_START_DATE,USR_UDF_END_DATE,USR_UDF_JOBPOSITIONNAME,USR_UDF_PERSONNEL_NUMBER,USR_UDF_ORG_UNIT,USR_UDF_BALANCE_CODE) VALUES " +
                        "('"+USR.USR_LAST_NAME+"','"+USR.USR_FIRST_NAME+"','"+USR.USR_MIDDLE_NAME+"','"+USR.USR_EMAIL+"','"+USR.USR_UDF_ADLOGIN+"',"+USR_UDF_START_DATE_TCC+","+USR_UDF_END_DATE_TCC+",'"+USR.USR_UDF_JOBPOSITIONNAME+"','"+USR.USR_UDF_PERSONNEL_NUMBER+"','"+USR.USR_UDF_ORG_UNIT+"','"+USR.USR_UDF_BALANCE_CODE+"')";
                    System.out.println(sql);
                    TCCBDSt.executeQuery(sql);

Добавляется запись в таблицу, но выводится исключение:
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: Инструкция не вернула результирующий набор.
В чем может быть проблема? SET NOCOUNT OFF никак не влияет.
  • Вопрос задан
  • 4572 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Sumor
executeQuery вызывается для SELECT запросов, которые возвращают результирующие наборы.
В вашем случае нужно использовать executeUpdate, который предназначен для команд UPDATE INSERT DELETE, которые результирующие наборы не возвращают.
Ответ написан
Комментировать
@Kvert007 Автор вопроса
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы