【问题标题】:ADODB connection state propertyADODB 连接状态属性
【发布时间】:2015-05-14 15:18:13
【问题描述】:

我正在处理我公司的一个旧项目,用 VB.NET 编写(整个应用程序中没有 try catch 块 * 叹气 *)。基本问题是它留下了僵尸进程。

我怀疑是它使用的数据库调用,即 ADODB 连接对象来查询 sql 数据库。

 adoConn.Open("DSN=NameOfDatabase;UID=NameOfSA;PWD=password")

我的想法是引入一个简单的数据库状态检查。使用

adoConn.State(整数)

但我不确定 adoConn.State 的可能值是什么。 我检查了https://msdn.microsoft.com/en-us/library/adodb._connection.state%28v=vs.90%29.aspx,但没有这样的信息。

我精通 C#,所以我会喜欢

0:关闭

1:连接

2:已连接等

任何此类信息(带有适当的引用)都会非常有帮助。

【问题讨论】:

  • Intelisense 应该给你这个.... adoConn.State = ADODB.ObjectStateEnum.adStateOpen 等
  • 感谢@Fred,我是 C# 开发人员,而 Intelisense 在这方面更强大,它也提供了 RHS 的选项。沉迷于 InteliSense。无论如何谢谢:)

标签: vb.net adodb


【解决方案1】:

State 属性 (ADO) 指示所有适用对象的状态是打开还是关闭。如果对象正在执行异步方法,则指示对象的当前状态是连接、执行还是检索。

返回可以是 ObjectStateEnum 值的 Long 值。默认值为adStateClosed

Constant            Value            Description

adStateClosed         0              Indicates that the object is closed.
adStateOpen           1              Indicates that the object is open.
adStateConnecting     2              Indicates that the object is connecting.
adStateExecuting      4              Indicates that the object is executing a command.
adStateFetching       8              Indicates that the rows of the object are being retrieved.

【讨论】:

  • 我认为返回类型是 Int,在对象浏览器中查看后它产生:Public Enum ObjectStateEnum As Integer Member of ADODB
  • ObjectStateEnum 值是Integer。我的意思是State 属性返回一个Long,它可以是一个ObjectStateEnum 值,即Integer
猜你喜欢
  • 2020-09-19
  • 2016-03-02
  • 1970-01-01
  • 2010-12-01
  • 2021-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多