验证.aspx中的SQL连接

时间:2017-08-27 03:29:02

标签: asp.net vb.net

逐渐将应用程序从经典.asp转换为.aspx,并且一直停留在检查数据库连接上。第一部分代码在我的.asp应用程序中工作正常;

<%' use this meta tag instead of adovbs.inc %>  
<!--METADATA TYPE="typelib" uuid="00000205-0000-0010-8000-00AA006D2EA4" --> 

' SQL database connection and result sets
Dim hSQLOne, RSQueryOne, SQLQuery

On Error Resume Next  

Set hSQLOne = Server.CreateObject("ADODB.Connection")
hSQLOne.Open EMSGSRC
If hSQLOne.State = adStateOpen then 
    nSQLconnected = 1
    Processing...

但当我把它转换成像这样的.aspx时;

<%' use this meta tag instead of adovbs.inc %>  
<!--METADATA TYPE="typelib" uuid="00000205-0000-0010-8000-00AA006D2EA4" --> 

' SQL database connection and result sets
Dim hSQLOne As ADODB.Connection
Dim RSQueryOne As ADODB.Recordset
Dim SQLQuery As String

On Error Resume Next  

hSQLOne = New ADODB.Connection
hSQLOne.Open (EMSGSRC)
If hSQLOne.State = adStateOpen Then
    nSQLconnected = 1
    Processing...

我收到此错误;

编译器错误消息:BC30451:名称&#39; adStateOpen&#39;没有宣布。

好的,公平地说,尝试删除METADATA标记,只是像这样在应用程序中声明连接状态常量;

'---- ObjectStateEnum Values ----
Const adStateClosed As Short = &H0s
Const adStateOpen As Short = &H1s
Const adStateConnecting As Short = &H2s
Const adStateExecuting As Short = &H4s
Const adStateFetching As Short = &H8s

但是&#34;如果hSQLOne.State = adStateOpen那么&#34; 不匹配,所以它没有做任何事情。

此处必须声明错误或未正确检查状态。

任何帮助表示赞赏....

第二天@Raybarg Check if ADODB connection is open的这篇文章解决了它!

If (hSQLOne.State And adStateOpen) = adStateOpen Then
    nSQLconnected = 1
    And do the stuff I want to do...

0 个答案:

没有答案