gpt4 book ai didi

java - Informix 存储过程和 JavaexecuteUpdate

转载 作者:太空宇宙 更新时间:2023-11-04 07:30:30 25 4
gpt4 key购买 nike

我自然想知道当我调用executeUpdate 时有多少行受到影响。我的executeUpdate 调用执行插入操作的存储过程。我尝试 return 和 int 但我得到“返回太多值”,即使它只返回一个 int

我只想返回受影响的行数

Java:

    String pro ="{call pro_insert(?,?,?)}";
CallableStatement callableStatement =
dbConn.prepareCall(pro);
callableStatement.setString(1,"9600111");
callableStatement.setInt(2,1);
callableStatement.setInt(3,100);
Integer id = callableStatement.executeUpdate();

Informix

CREATE PROCEDURE pro_insert ( source varchar(11), request_type_id smallint,result_code_id smallint  )
RETURNING int ;

INSERT INTO pro_table
(
source,request_type_id,result_code_id,time
)
VALUES
(
source,request_type_id,result_code_id,CURRENT
);

return dbinfo('sqlca.sqlerrd2'); /* return number of rows affected */
END PROCEDURE

最佳答案

试试这个

String pro ="{? = call pro_insert(?,?,?)}";
CallableStatement callableStatement = dbConn.prepareCall(pro);
callableStatement.registerOutParameter(1, Types.Integer);
callableStatement.setString(2,"9600111");
callableStatement.setInt(3,1);
callableStatement.setInt(4,100);
callableStatement.execute();
int res = callableStatement.getInt(1);

关于java - Informix 存储过程和 JavaexecuteUpdate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17788824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com