Sqlserver2008 跟Sqlserver 在执行存储过程有区别?
Sqlserver2008 和Sqlserver 在执行存储过程有区别????
之前在Sqlserver2005下写了一个程序,采用ado 执行查询的方式,执行记录集,由于存在多个不同的存储过程,
如果 采用执行存储过程的方法,就需要构建非常多的执行存储过程方法。
后来采用通过的方法,执行不同的存储过程,比如存储构成名字为 SaveData 1.0
则改为下面方法,将存储过程的返回值 通过记录集返回来
CString sql="SET NOCOUNT ON declare @q int SaveData,1.0,@ret=@q output select @q as result";
int iRes=0
CAdoRecordSet Rs;
Rs.SetAdoConnection(....)//设置连接
if(!Rs.Open(sql,adCmdText))
{
Rs.GetCollect("result",iRet);
}
通过调试发现,在Sqlserver2005下运行能够返回值,但是在SQL2008下就 返回的记录集为空,是什么原因????
------解决思路----------------------
SQL2008打最新的补丁。
------解决思路----------------------
帮助、关于 对话框里面看。
我只是猜想,有待你验证。
之前在Sqlserver2005下写了一个程序,采用ado 执行查询的方式,执行记录集,由于存在多个不同的存储过程,
如果 采用执行存储过程的方法,就需要构建非常多的执行存储过程方法。
后来采用通过的方法,执行不同的存储过程,比如存储构成名字为 SaveData 1.0
则改为下面方法,将存储过程的返回值 通过记录集返回来
CString sql="SET NOCOUNT ON declare @q int SaveData,1.0,@ret=@q output select @q as result";
int iRes=0
CAdoRecordSet Rs;
Rs.SetAdoConnection(....)//设置连接
if(!Rs.Open(sql,adCmdText))
{
Rs.GetCollect("result",iRet);
}
通过调试发现,在Sqlserver2005下运行能够返回值,但是在SQL2008下就 返回的记录集为空,是什么原因????
------解决思路----------------------
SQL2008打最新的补丁。
------解决思路----------------------
帮助、关于 对话框里面看。
我只是猜想,有待你验证。