怎样在程序中建立ODBC与Access 或 SQL Server的连接!!
希望大家能给个例子。谢谢!!

解决方案 »

  1.   

    为什么要设置ODBC而不直接连接数据库呢!如果想直接连接数据库可用以下方法:首先声明一个
      Public MyConnectLoca As ADODB.Connection '连接
      Public MyRecordLoca As ADODB.Recordset   '记录集  '连接 本地数据库(Access2000数据库)得到程序所需资料清单
      Set MyConnectLoca = New Connection
      With MyConnectLoca
        .CursorLocation = adUseClient
        .ConnectionTimeout = 120
        .CommandTimeout = 60
        .Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & YouFilePath & ";Jet OLEDB:Database Password=youpassword"
        strTable = "YouTable"
      End With想连接SQL Server的话将“.Open "PROV ...”改成
            .Open "PROVIDER=MSDASQL;driver={SQL Server};server=" & ServerName & ";uid=" & LogonUsr & ";pwd=" & LogonPwd & ";database=" & DatabaseName & ";Address=" & ServerAddressIP & ";"
    '记录集的使用  Set MyRecord = New Recordset
      With MyRecord
         .CursorType = adOpenStatic
         .LockType = adLockOptimistic
         strSelect = "select * from YouTableName"
         .Open strSelect, MyConnectLoca     If (Not (.EOF) And Not (.BOF)) Then
            MyRecord!FieldA = XXXX
             ...
             ...
             ...        .Close
         Else
            .Close
            MsgBox "数据库中的“YouTableName”资料不完整,请确认后再运行本程序!"
            End
         End If
      End With
      

  2.   

    工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)    Dim CN   As New ADODB.Connection                '定义数据库的连接
        Dim Rs   As New ADODB.Recordset
        CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=northwind;User Id=sa;Password=sa;"    CN.Open
        Rs.CursorLocation = adUseClient
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockOptimistic
       Set DataGrid1.DataSource = Rs
      

  3.   

    工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)    Dim CN   As New ADODB.Connection                '定义数据库的连接
        Dim Rs   As New ADODB.Recordset    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
        CN.Open    Rs.CursorLocation = adUseClient
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic    Set DataGrid1.DataSource = Rs
      

  4.   

    或者你在程序中建立DSN数据源:
    http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q171/1/46.asp&NoWebContent=1
      

  5.   

    连接access:
        .CommandTimeout = 60
        .CursorLocation = adUseClient
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & DBPath & "\*.mdb;Persist Security Info=False"
        .Open
    连接SQL Server:
        strConnect = "Provider=MSDASQl;driver={SQL server};server=SQLServer ;uid=sa;pwd=;database=DatabaseOfSQLServer "
        cnnPrimaryServer.ConnectionTimeout = LoginTimeOut
        cnnPrimaryServer.CursorLocation = adUseClient
        cnnPrimaryServer.Open strConnect
      

  6.   

    或者你在程序中建立DSN数据源:
    http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q171/1/46.asp&NoWebContent=1