SQLServerCallableStatement不会返回结果集

时间:2017-02-01 14:11:14

标签: java sql-server

我正在尝试一个简单的测试,所以我有一个简单的存储过程。它从表中选择行

CREATE PROCEDURE [dbo].[Test_SQL_Connect] 
as
BEGIN
SET NOCOUNT ON 
select * from [dbo].[Test_Sqlconnector]
END

当我运行exec [dbo]。[Test_SQL_Connect] ..输出

TagName TagValue Timestamp TagStatus

tag1 value1 2017-01-31 19:09:43.7570000 1

在Java中,我有以下代码(之前已创建连接)

SQLServerCallableStatement cStatement = 
                (SQLServerCallableStatement)connection.prepareCall("{call dbo.Test_SQL_Connect}");
cStatement.execute();

执行cStatement.getUpdateCount()= -1。

后的值

有人知道为什么updatecount为-1​​,即使返回了1条记录吗?

1 个答案:

答案 0 :(得分:0)

这是Statement.getUpdateCount()

的预期结果
  

以更新计数的形式检索当前结果; 如果结果是a   ResultSet对象或没有更多结果, -1返回。   每个结果只应调用一次此方法。

另请查看PreparedStatement.execute()的javadoc。