问题是这样的,在VB中执行存储过程,想讀取存儲過程返回的結果集,存儲過程用到臨時表,在VB中調用存儲過程的時候就出現3704的錯誤,提示“對象關閉時,不允許操作”,在網上找了很多信息,都不能解決問題,無疑間在百度知道上看到一個人提的問題,有人回答,有一條很符合我的現象,果然解決了哈哈,轉載主要原因有一下:

1、数据库对象连接被关闭了,这肯定会报错的,当然也不能输出任何结果的,这时只需注意“先使用、后关闭”就行了,解决这样的问题就是暂时先不要关闭数据库连接就行了。

2、返回记录为空时,也会报错。如下面的代码

代码

1 sql=select*fromdbcnwhere状态='0'2 Setrs=conn.Execute(sql)3 IfNotrs.EOFThen4 Form=1Tors.RecordCount5 List_status.AddItem rs(1)&(&rs(2)&):&rs(4)6 rs.MoveNext7 Nextm8 EndIf

如果没有数据的话,这里也会提示这样的错误,将查询代码放到SQL查询分析器里运行一下,果然没有数据,呵呵。当然这样的错误可以采用一些方法排除或过滤的。

3、这就是我这次所遇到的问题的中心了,我们将目光转向存储过程。的确,在SQL查询分析器里,存储过程是正常运行,而且不会报错,也有数据。但仔细想想,因为在存储过程可能包含了有关SQL语句影响行数的信息,这样一来也就可能会导致这样的情况。

打开存储过程,在begin后面加上一句代码:set  nocount  on,屏蔽掉这些信息。OK,VB中的程序巳经能够正常运行了,而且数据也是正常的。

顺便解释一下吧,打开查询分析器中的帮助,查找一下有关set nocount on的信息,我们会找到这些东西:

====================================

SET NOCOUNT

使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息。

语法

SET NOCOUNT { ON | OFF }

注释

当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。

当 SET NOCOUNT 为 OFF 时,返回计数。

即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。

当 SET NOCOUNT 为 ON 时,将不给客户端发送存储过程中的每个语句的 DONE_IN_PROC 信息。当使用microsoft® SQL Server™ 提供的实用工具执行查询时,在 Transact-SQL 语句(如 SELECT、INSERT、UPDATE 和 DELETE)结束时将不会在查询结果中显示nn rows affected。

如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。

SET NOCOUNT 设置是在执行或运行时设置,而不是在分析时设置。

权限

SET NOCOUNT 权限默认授予所有用户。

示例

下例在 osql 实用工具或 SQL Server 查询分析器中执行时,可防止显示有关受影响的行数的信息。

代码

1 USEpubs2 GO3 --Display the count message.4 SELECTau_lname5 FROMauthors6 GO7 USEpubs8 GO9 --SET NOCOUNT to ON and no longer display the count message.10 SETNOCOUNTON11 GO12 SELECTau_lname13 FROMauthors14 GO15 --Reset SET NOCOUNT to OFF.16 SETNOCOUNTOFF17 GO

3704对象关闭时_VB中“对象关闭时,不允许操作”解决方案 3704 錯誤 | 学步园...相关推荐

  1. 计算机的关闭程序,电脑中取消关机时强制关闭程序提醒的方法

    一位用户反馈自己的电脑在关机前都会提示没有关闭的程序,需要选择关闭后才能关机,感觉这样非常烦人.那么,电脑中该如何取消关机时强制关闭程序提醒呢?接下来,系统城小编就为大家分享下具体操作方法,让关机更加 ...

  2. java中对象的生存期_Java中对象的生存周期

    文章目录 JAVA对象的生存周期 1.创建阶段(Created) 为对象分配内存需要考虑的问题 2.应用阶段(In Use) 3.不可见阶段(Invisible) 4.不可达阶段(Unreachabl ...

  3. javascript 无法修改 数组中对象_谈谈JavaScript中对象建立(Object)

    在这篇文章中我将会着重说明如何创建JavaScript里的对象(Object). 对象(Object)是什么? 在开始介绍如何创建对象前,我们要知道对象是什么.对象(Object)简单地来说,就是一堆 ...

  4. python中对象的定义_python中对象的定义和使用

    python中对象的定义和使用 发布时间:2020-06-22 11:57:16 来源:亿速云 阅读:98 作者:Leah 今天就跟大家聊聊有关python中对象的定义和使用,可能很多人都不太了解,为 ...

  5. 微信云开发云数据库,数组中添加对象,修改数组中对象,删除数组中对象

    添加 向data数组中添加对象,代码如下,event._id,event.data,id要在哪条数据中添加对象,data为字段push为添加 ` const db = cloud.database() ...

  6. android方法是对象吗,为什么android中对象不初始化也能调用方法?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public class MainActivity extends ActionBarActivity { private Button bt; priv ...

  7. mysql中imagin的类型_Image转换成Mysql的blob类型 | 学步园

    发现网上好多方法都不可行,下面是我的方法,略麻烦,纯属为自己以后的使用做个记录,如果你有更好的方法请留言,谢谢~ 第二种方法,已知文件路径,通过构造文件的方式转换成blob很简单.如果很不幸,你只有I ...

  8. java 润乾报表打印4.5_润乾报表中常见的打印类问题的总结| 润乾软件 | 学步园...

    在解决润乾报表的打印类问题时,首先要知道打印与哪些文件相关,下面就列出了与打印相关的文件及位置: 1.runqianReport4Applet.jar 位置:应用根目录下 2.report4.jar ...

  9. java父类与子类的构造方法_java中的加载顺序以及父类与子类的构造方法 | 学步园...

    public class fatt { public static void main(String[] args) { animal a=new cat(9); } } class animal{ ...

最新文章

  1. 某程序员吐槽:分手一个月,发现前女友和一个已婚男人在一起,愤而向他们公司举报,该男已被开除!网友:举报别人不道德!...
  2. RPi 3B Aduio 3.5mm output
  3. 开始简单项目的第二周
  4. Asp.Net Core Docker镜像更新系统从wheezy改为stretch
  5. Android学习拾遗
  6. 专科计算机组成原理大一试题及答案,计算机组成原理专科试题答案.doc
  7. 【echarts】 tooltip显示图片
  8. 【BMC】Redfish简述
  9. 施耐德 m340 编程手册_施耐德变频器学习之参数配置
  10. m5310采用芯片 中移物联_智慧交通,未来已来!汉天下助力中移物联,引爆NB-IoT行业!...
  11. GB/T 7714, MLA ,APA这几种参考文献格式
  12. 免费的注册表修复工具推荐
  13. 智源首席科学家孙茂松当选欧洲科学院外籍院士
  14. “华为杯”第十八届中国研究生数学建模竞赛B题参赛总结
  15. php 随即英文,PHP生成随机英文用户名
  16. h5 app 实现页面刷新
  17. 轻松解决 “Error creating bean with name 'indentDao' defined in file”的错误(一)
  18. 已解决Visit python.org to download an earlier version of Python.
  19. js 解决移动端苹果自带输入法的连续输入多打重复字的问题
  20. 团体程序设计天梯赛-练习集 L2-028 秀恩爱分得快 (25 分) (详细解法)

热门文章

  1. EasyUi – 4.datagrid
  2. 我学UML建模系列之核心元素 -------- 参与者
  3. 成功的产品 = 做得好 + 卖得好
  4. 在C#中使用SerialPort类实现串口通信
  5. IT创业迷魂圈:不要画饼充饥
  6. 浅析python 中__name__ = '__main__' 的作用
  7. 推荐:介绍一个UndoFramework
  8. [Shell 脚本] 备份数据库文件至OSS服务(纯shell脚本无sdk)
  9. ES6 Generator 初体验
  10. Android Studio实用插件使用