下面是一段简单的存储过程
CREATE PROCEDURE usp_oprlog_query
@lRecordCount INTEGER OUTPUT
AS
SET @lRecordCount = 200
SELECT * FROM TableName
GO
在vc使用odbc api执行该存储过程,可是就是不能得到输出参数的值
如果把SELECT * FROM TableName这句去掉,则可以正确得到,为什么?
该如何解决这个冲突?
...全文
13413打赏收藏
存储过程的output参数问题
下面是一段简单的存储过程 CREATE PROCEDURE usp_oprlog_query @lRecordCountINTEGER OUTPUT AS SET @lRecordCount = 200 SELECT * FROM TableName GO 在vc使用odbc api执行该存储过程,可是就是不能得到输出参数的值 如果把SELECT * FROM TableName这句去掉,则可以正确得到,为什么? 该如何解决这个冲突?
谢谢各位兄弟,在一段帮助里面找到这句话:用于SQL Server的Microsoft OLE DB提供程序或SQL Server ODBC驱动程序回返回代码和输出参数值防止在绑定的变量中(存储过程),在返回给客户端的最后一个数据包中,Microsoft SQL Server返回输出参数和返回代码。因此,只有在应用程序处理或取消存储过程所返回的所有结果集后,才可以访问返回代码和输出参数值。