恩,我想在一个软件里加上和数据库的连接应该怎么弄?能给点意见么?

解决方案 »

  1.   


    Public DbStyle As String'/数据库类型.
    Public Enum SmDbType
                Access = 1    'Access
                Excel = 2     'Excel
                Text = 3      '文本
                FoxPro = 4    'FoxPro
                dBase = 5     'dBase
    End Enum'
    '创建一个连接(连接到其它数据库类型)
    '函数名:CreateOtherConn
    '参数:  DbConnection ADODB连接,FilePath 数据库路径,UserName 登录用户名,PassWord 登录密码,DbType SmDbType枚举数据库类型
    '返回值:TRUE 连接成功.FALSE 连接失败.
    '例:
    'CreateOtherConn Cnn, "E:\CjhLx\dbf", , , FoxPro
    'StrSql = "select * from [employee.dbf]"
    'Set Rs = RsOpen(Cnn, StrSql)
    'Set DataGrid1.DataSource = RsPublic Function CreateOtherConn(ByRef DbConnection As ADODB.Connection, _
                                   FilePath As String, _
                                   Optional UserName As String = "admin", _
                                   Optional PassWord As String = "", _
                                   Optional DbType As SmDbType = Access) As Boolean
            Dim ConnStr As String
            Dim DriveName(5) As String
            Dim tDbType(5) As String
            Dim UserPwd(5) As String
            
            '/驱动程序
            DriveName(1) = "{Microsoft Access Driver (*.mdb)}"
            DriveName(2) = "{Microsoft Excel Driver (*.xls)}"
            DriveName(3) = "{Microsoft Text Driver (*.txt; *.csv)}"
            DriveName(4) = "{Microsoft Visual FoxPro Driver};SourceType=DBF"
            DriveName(5) = "{Microsoft dBase Driver (*.dbf)}"
            '/类型
            tDbType(1) = "MDB"
            tDbType(2) = "XLS"
            tDbType(3) = "TXT"
            tDbType(4) = "FDB"
            tDbType(5) = "DDB"
            '/用户名和密码.
            UserPwd(1) = "Uid=" & UserName & ";Pwd=" & PassWord & ";"
            UserPwd(2) = "Uid=" & UserName & ";Pwd=" & PassWord & ";"
            UserPwd(3) = ""
            UserPwd(4) = "Uid=" & UserName & ";Pwd=" & PassWord & ";"
            UserPwd(5) = "Uid=" & UserName & ";Pwd=" & PassWord & ";"
            
            On Error Resume Next
            
            If DbConnection.State = adStateOpen And Not IsEmpty(adStateOpen) Then
               DbConnection.Close
            End If
            ConnStr = "Provider=MSDASQL.1;Persist Security Info=False;DRIVER=" & DriveName(DbType) & ";" & UserPwd(DbType) & "DBQ=" & FilePath
            DbConnection.ConnectionString = ConnStr
            DbConnection.Open
            DoEvents
              
            If Err.Number = 0 Then
               DbStyle = tDbType(DbType)
               CreateOtherConn = True
            Else
               Err.Clear
               DbStyle = ""
               CreateOtherConn = False
            End If
      End Function
      

  2.   


    Dim DbStyle As String
    '
    '创建一个连接(连接到SQL)
    '函数名:CreateSqlConn
    '参数:  DbConnection ADODB连接,ServerName 服务器名,DBname 数据库名,UserID 登录用户名,UPw 登录密码,Timerout 连接超时
    '返回值:TRUE 连接成功.FALSE 连接失败.
    '例:    CreateSqlConn p_cnn,"CJH","cjherp001","sa","123",15
    '
    Public Function CreateSqlConn(ByRef DbConnection As ADODB.Connection, _
                                  ServerName As String, _
                                  DbName As String, _
                                  UserID As String, _
                                  UPw As String, _
                                  Optional Timerout As Long = 15) As Boolean
        Dim ReturnVal As Boolean    On Error Resume Next    If DbConnection.State = adStateOpen And Not IsEmpty(adStateOpen) Then
           DbConnection.Close
        End If
    '/连接1
        DbConnection.Provider = "MSDASQL.1"
        DbConnection.ConnectionString = "Driver={SQL Server};Server=" & ServerName & ";DataBase=" & DbName & ";Uid=" & UserID & ";Pwd=" & UPw & ";APP=" & App.Path & ";WSID=" & UserID & ";Connect Timeout=" & Timerout & ";"
    '/--------------------------------------------------------------------------------------------
    '/连接2  Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=cjh
    '/    DbConnection.Provider = "SqloleDB.1"
    '/    DbConnection.ConnectionString = "Database=" & DBname & ";Server=" & ServerName & ";Uid=" & UserID & ";Pwd=" & UPw & ";Connect Timeout=" & Timerout & ";"
    '/---------------------------------------------------------------------------------------------
        DbConnection.ConnectionTimeout = Timerout
        DbConnection.CommandTimeout = Timerout
        DbConnection.Open
        DoEvents
        If Err.Number = 0 Then
           DbStyle = "SQL"
           ReturnVal = True
        Else
           Err.Clear
           DbStyle = ""
           ReturnVal = False
        End If
        CreateSqlConn = ReturnVal
    End Function
      

  3.   

    谢谢大哥,其实我是要用delphi做个数据挖掘的东西,恩参考一下vb怎么弄的,谢谢了