我们正在尝试在 Java 中执行存储过程,如下所示,
CREATE PROCEDURE [dbo].[MyProc]
(
@input1 varchar(20),
@input2 varchar(20),
@responsecode varchar(10) output
)
AS
//Implementation
SELECT @a,@b,@c,@d;
SELECT @responsecode;
Java 代码如下所示,
callableStatement = conn.prepareCall("{call MyProc("2","2"))}");
callableStatement.registerOutParameter(3, Types.VARCHAR);
callableStatement.registerOutParameter(4,Types.JAVA_OBJECT);
如您所见,我们试图从存储过程中获取两个输出参数,
我们能够在索引 3 处获得响应代码,但是 @a,@b,@c,@d 应该在索引 4 处作为结果集出现(可能是我错了)
你能否给我一些关于为这种存储过程获取结果集的提示。
当我在 Microsoft SQL Server Managment Studio 中执行这个存储过程时,我可以看到两种类型的响应,第一种是结果集,另一种是 ResponseCode,如下所示,