jdbc如何取得存储过程return返回值
存储过程:
CREATE PROCEDURE [test]
(@Name nvarchar(50))
AS
begin
insert into testTable(Name) values(@Name )
return @@IDENTITY
end
GO
得到返回值用什么?
____________________________________________________
用方法改为:
CallableStatement cstmt = conn.prepareCall("{?=call test(?)}");
cstmt.registerOutParameter(1,java.sql.Types.INTEGER);
cstmt.setString(2, "Name");
cstmt.executeUpdate();
testTableID=cstmt.getInt(1);
______________________________________
jdbc调存储过程:
1.out,inout参数必须registerOutParameter一下。
2.返回值用CallableStatement.get(int )取得
3.如可驱动支持,可将游标return ,将强制转换为resultSet进行操作。
4.如果返回多个结果集,则必须取完所有结果集后,最后取out参数
5.jdbc会自动依相应类型自动处理值为null的字段为相应的java类型。