“对象关闭时,不允许操作”的解决

写了一个存储过程,作用是利用临时表组织一些数据,然后返回。在查询分析器中调用存储过程后,得到预期结果,在客户端使用adoStorePro连上数据库写入参数后,也可以得到预期结果的结果集。

但是放到工程项目中后,得到的结果集却是空集,并且跟踪到结果集的字段也是为空,意思就是说,传回来的根本就没有结果集(连结果集的字段都没有传回来),就像没有执行存储过程一样!

跟踪到中间层有提示“对象关闭时,不允许操作”的提示,很可能是它引起来的!网上的资料说多数是啥数据集的数据库连接丢失造成,后来,这种情况被我排除!搜索这个错误关键字,得到资料说是在存储SQL中加入一句:SET NOCOUNT ON,设置后,果然凑效,解决问题。说明:此句一定要加在存储过程的中间,不能加在存储过程体外!

 

网上资料显示SET NOCOUNT ON的作用是:在返回结果集时,不返回提示受影响的行的那些垃圾消息。本人在存储过程中因对表作了插入表记录操作,这样会引起影响行的提示消息出来,故会影响最终返回的结果记录集,设置ON,即可屏蔽提示受影响行的消息出现,完整地返回你的结果集数据流。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值