小弟语句如下:
Private Rs As ADODB.Recordset
Private Conn As ADODB.ConnectionPublic Function OpenDB()        Conn.Provider = "SQLOLEDB.1;Password=0sasa;Persist Security Info=True;User ID=sa;Initial Catalog=Bus;Data Source=WZ"
       Conn.Open
    
End FunctionPublic Function CloseDB() As Integer   Conn.Close
   Set Conn = Nothing
    
End FunctionPublic Function IsAdmin(AdminName, AdminPassword) As Boolean    Dim SqlStr As String
    IsAdmin = False    OpenDB    SqlStr = "select * from Admin where Enable=1 and AdminName='" + AdminName + "' and  AdminPassword='" + AdminPassword + "'"
    
    With Rs
    
    .Open Conn, 3, 1
    
    If Not .EOF And .BOF Then
        IsAdmin = True
        Session("AdminID") = .Fields("AdminID")
        Session("AdminName") = .Fields("AdminName")
        Session("AdminType") = .Fields("AdminType")
        Session("Popedom") = .Fields("Popedom")
        Session("Flag") = 0
        Exit Function
    End If
    
    .Close
    
    End With
    
    Set Rs = Nothing    CloseDB 
        
End Function调试时报:
    Conn.Provider = "SQLOLEDB.1;Password=0sasa;Persist Security Info=True;User ID=sa;Initial Catalog=Bus;Data Source=WZ"    实时错误'91'
    对象变量或with块变量未设置请教各位高手,这块怎么写?

解决方案 »

  1.   

    Option Explicit
    Public dbcnn As New ADODB.Connection
    Public abc As New ADODB.Command
    Public ado_command As New ADODB.Command
    Public Sub Connect()
        Dim strCon  As String
         strCon = "PROVIDER=SQLOLEDB;DATA SOURCE=2" & _
                 ";Initial Catalog=sjk" & _
                 ";USER ID=sa" & _
                 ";Password=;"    Set dbcnn = New ADODB.Connection    '连接数据库
        With dbcnn
            .ConnectionString = strCon
            .ConnectionTimeout = 5
            .Properties("PROMPT") = adPromptNever
            .CursorLocation = adUseServer
            .Open
        End With
        Exit Sub
    End Sub
      

  2.   

    现在库是连接起了,可是.Open Conn, 3, 1又有错,报错
    “实时错误'3001'
    变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突”不好意思,才开始写VB,望各位见谅
      

  3.   

    Private Rs As new ADODB.Recordset
    Private Conn As new ADODB.ConnectionPublic Function OpenDB() Conn.open "SQLOLEDB.1;Password=0sasa;Persist Security Info=True;User ID=sa;Initial Catalog=Bus;Data Source=WZ"
        
    End FunctionPublic Function CloseDB() As Integer   Conn.Close
       Set Conn = Nothing
        
    End FunctionPublic Function IsAdmin(AdminName, AdminPassword) As Boolean    Dim SqlStr As String
        IsAdmin = False    OpenDB    SqlStr = "select * from Admin where Enable=1 and AdminName='" + AdminName + "' and  AdminPassword='" + AdminPassword + "'"
        
        With Rs
        
        .Open Conn, 3, 1
        
        If Not .EOF And .BOF Then
            IsAdmin = True
            Session("AdminID") = .Fields("AdminID")
            Session("AdminName") = .Fields("AdminName")
            Session("AdminType") = .Fields("AdminType")
            Session("Popedom") = .Fields("Popedom")
            Session("Flag") = 0
            Exit Function
        End If
        
        .Close
        
        End With
        
        Set Rs = Nothing    CloseDB 
            
    End Function