当前位置:编程学习 > VB >>

水平有限,望指点。、

封装一个ADO的类。-------------------------类名为:基础类.cls

Public cnn As New ADODB.Connection
Public rst As New ADODB.Recordset
Public Sub sqlcnn(ByVal Stype As String, Spath As String, cnn)

    Select Case Stype
    
        Case "DBF"
        
            cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
     
            cnn.ConnectionString = "Data Source=" & Spath & "\; Extended Properties=""dBASE III;"";"
    
        Case "mdb"
        
            cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
     
            cnn.ConnectionString = "Data Source=" & dbPath & ";Jet OLEDB:Database Password="
        
        Case "CNN"
        
            cnn.Provider = "Microsoft.ACE.OLEDB.12.0"
     
            cnn.ConnectionString = "Data Source=" & dbPath & ";Jet OLEDB:Database Password="
        
        Case "mdf"
        
            cnn.ConnectionString = "driver={SQL Server};server=192.168.0.63;UID=;PWD=;Database=" & SName & ""
            
        Case "xls"
            cnn.Provider = "microsoft.jet.oledb.4.0;extended properties=excel 8.0"
            cnn.ConnectionString = "Data Source=" & dbPath & ""
            
            
        Case "xlsx"
        
            cnn.Provider = "Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0"
            cnn.ConnectionString = "Data Source=" & dbPath & ""
        
        
        Case "xlsm"
            cnn.Provider = "Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0 Macro"
            cnn.ConnectionString = "Data Source=" & dbPath & ""
      
        Case Else
        
            MsgBox "本系统暂时不支持该数据库文件"
            
            Exit Sub
            
    End Select
    
        cnn.Open
End Sub

然后在窗体里面调用。--------------------------

Dim clsc As New 基础类

Private Sub Form_Load()
Call clsc.sqlcnn(mdb, App.Path & "\" & "alldata.mdb", cnn)
end sub
请问,我怎么调用不了呢?? ByVal Stype As String
cnn
Call clsc.sqlcnn(mdb, App.Path & "\" & "alldata.mdb", cnn)

先好好学习一下类的基础知识。
调用完了啊。
只是连接一下数据库而已。 怎么写呢? 估计是已经调用,出错了但没处理。建议做下错误处理看看结果。。。 cls里写法就有问题了
Public cnn As New ADODB.Connection
Public rst As New ADODB.Recordset
Public Sub sqlcnn(ByVal Stype As String, Spath As String, cnn) 调用类模块就是不行。在模块里都可以 找大侠指点啊。。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,