2015-01-15 3 views
0

Я работаю над тестовой средой.Неверный размер результата: ожидается 1, актуально 0

Вот запрос, который я использовал в Java

String sql =  "INSERT INTO PO_PART_XML_IF (INTERFACE_ID, INTERFACE_TRANSACTION_ID," 
       + " O_SEQ_NO, PART_NO, O_QTY, O_TYPE_CODE, R_R_NO" 
       + " ,O_LINE_COMMENT, C_CODE, INPUT_USER_ID, INPUT_TIMESTAMP, " 
       + "LAST_UPDATE_USER_ID, LAST_UPDATE_TIMESTAMP) VALUES ( 

       G_REPAIR_PARTS_IF_SEQ.nextval,"+transactionnumber+",'"+orderSecNo+"','"+ 
       job.getPartNo()+"',"+ Long.parseLong(job.getOrderQty())+",'"+job.getDeliveryType().getTitle()+"','"+job.getServiceReceiptNo()+"','"+replaceSingleQuote(job.getOrderComment())+"','"+currencyCode+"','"+inputUserID+"',SYSDATE,'"+inputUserID+"',SYSDATE)"; 

Когда я сделал некоторые испытания, то я получил эту ошибку в лог-файлы:

org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 

я проверил непосредственно на PL/SQL, It работает отлично. Я вставляю данные. но когда вы тестируете программу java, она показывает мне эту ошибку.

Любая идея!

+5

Первое, что нужно исправить: прекратите наращивать SQL, включив такие значения. Используйте параметризованный SQL. Это может или не может решить проблему, но это, безусловно, первое, что вы должны исправить, ИМО. –

+0

Зачем вам разбирать значение 'long', чтобы превратить его в String. Разве это не String? –

+0

вы пытаетесь вставить запрос, ошибка подсказывает некоторые проблемы с доступом к данным, я скажу, что вы не даете нам точной информации о количестве, чтобы решить ваши проблемы. – user902383

ответ

0

Если запрос в порядке (вы должны проверить, что), код, который должен работать в

Statement statement = dbConnection.createStatement(); 
statement.executeUpdate(sql); 

Вы, вероятно, используют

statement.executeQuery(sql); 

, что неправильно для вставки запроса.

0

Вы не показали код, на самом деле выполняющий запрос, но, судя по сообщению, кажется, что вы выполняете, как если бы он возвращал данные, то есть SELECT, но это инструкция UPDATE.

Попробуйте выполнить его, используя соответствующий API для обновления.

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