结果大小不正确:预期为1,实际为0

时间:2015-01-15 09:29:34

标签: java sql xml

我正在研究测试环境。

这是我在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,它运行正常。我的意思是插入数据。但是当你用java程序测试时,它会显示这个错误。

任何想法!

2 个答案:

答案 0 :(得分:0)

您还没有显示实际执行查询的代码,但是通过消息判断您正在执行它就好像它返回数据一样,即SELECT,但它是一个UPDATE语句。

尝试使用适当的API执行更新。

答案 1 :(得分:0)

如果查询没问题(您必须检查),应该使用的代码是

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

你可能正在使用

statement.executeQuery(sql);

插入查询错误。