请问如何,在VB中用代码在程序运行过程中建立ODBC的DSN访问DBF??

解决方案 »

  1.   

    Option Explicit'首先添加引用 Microsoft Remote Data Object 2.0Sub RegisterDataSource()
        Dim strAttribs As String
        
        '建造关键字字符串。
        strAttribs = "SourceDB = C:\" _
        & Chr$(13) & "SourceType = DBF" _
        & Chr$(13) & "Description = aa" _
        & Chr$(13) & "Collate = Machine" _
        & Chr$(13) & "BackgroundFetch = Yes" _
        & Chr$(13) & "Deleted = Yes" _
        & Chr$(13) & "Exclusive = No" _
        & Chr$(13) & "Null=Yes" _
        & Chr$(13) & "SetNoCountOn = No"
    '建立新的注册的 DSN。
        rdoEngine.rdoRegisterDataSource "test", "Microsoft Visual Foxpro Driver", True, strAttribs
    End SubPrivate Sub Command1_Click()
        Call RegisterDataSource
    End Sub
      

  2.   

    用ADO连接可以不用建立ODBC!!Option Explicit'工程->引用->Microsoft ActiveX Data Objects 2.0 Library (后面为版本号)
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.RecordsetPrivate Sub Combo1_Click()
        rs.Open "SELECT * FROM TABLENAME WHERE NAME = '" & txtName.Text & "'", cn, adOpenDynamic, adLockOptimistic
        If Not rs.EOF Then
            Label1.Caption = rs!ID
            Label2.Caption = rs!Memo
        End If
        
    End SubPrivate Sub Form_Load()
        cn.ConnectionString = "DSN=SCM_ACCESS;pwd=;uid="
        cn.Open
        '查询字符串可以上这里查
        'http://www.connectionstrings.com/
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    On Error Resume Next
        rs.Close
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    End Sub