我在用VB访问VFP的数据库,在dhfs文件夹下面有dhfs.cdx和dhfs.dbf两个文件,在访问dhfs.dbf时,老是提示缺少"管理电费数据库.dbc"文件(用FoxPro打开的时候,状态栏下面显示"管理电费数据库!dhfs",小弟对VF不太熟,不知道什么意思),应该怎么办,大家急救!

解决方案 »

  1.   

    在论坛上搜索一下,很多的。
    *.cdx
      

  2.   

    用ADO访问foxpro的自由表、foxpro数据库中的表的及早期Dbase格式的表的记录的示例:
    你首先要在VB菜单中:
    “工程”-->“引用”-->“Microsoft AxtiveX Data Objects 2.1 Library”
    "工程"-->“部件”-->“MicroSoft DataGrid Control 6.0”数据类型:自由表
    示例:Private Sub cmddisp_click()
      Dim cn As New ADODB.Connection
      Dim rs As New ADODB.Recordset
      Dim cnstr As String
      cnstr = "Driver={Microsoft Visual FoxPro Driver};" & _
               "SourceType=DBF;" & _
               "SourceDB=" & app.path & "\data" & _
               "Exclusive=No"
      cn.Open cnstr
      rs.CursorLocation = adUseClient
      rs.Open "select * from XXX.DBF", cn, adOpenKeyset, adLockBatchOptimistic
      Set DataGrid1.DataSource = rs
      DataGrid1.Refresh
      rs.close
      set rs=nothing
    End Sub以上示例程序的作用是将XXX.dbf表中的数据显示在datagrid1控件中。数据类型:数据库
    示例:Private Sub cmddisp_click()
      Dim cn As New ADODB.Connection
      Dim rs As New ADODB.Recordset
      Dim cnstr As String
      cnstr ="Driver={Microsoft Visual FoxPro Driver};" & _
               "SourceType=DBC;" & _
               "SourceDB=" & app.path & "\data\yourdbname.dbc;" & _
               "Exclusive=No" 
      cn.Open cnstr
      rs.CursorLocation = adUseClient
      rs.Open "select * from XXX.DBF", cn, adOpenKeyset, adLockBatchOptimistic
      Set DataGrid1.DataSource = rs
      DataGrid1.Refresh
      rs.close
      set rs=nothing
    End Sub数据类型:早期Dbase格式的dbf文件
    示例:Private Sub command1_click()
      Dim cn As New ADODB.Connection
      Dim rs As New ADODB.Recordset
      Dim cnstr As String
      cnstr = oConn.Open "Driver={Microsoft dBASE Driver (*.dbf)};" & _
               "DriverID=277;" & _
               "Dbq=" & app.path & "\data"
      cn.Open cnstr
      rs.CursorLocation = adUseClient
      rs.Open "select * from XXX.DBF", cn, adOpenKeyset, adLockBatchOptimistic
      set datagrid1.datasource=rs
      datagrid1.refresh
      rs.colse
      set rs=nothing
    End Sub