先下载安装http://fox.wikis.com/wc.dll?Wiki~VFPOleDBProvider~VFP   VFPOLEDBSetup.msi 
代码如下:OleDbConnection ContactMgmt = new 
OleDbConnection("Provider=VFPOLEDB.1;Data Source=C:\\文件夹
名字;Collating Sequence=MACHINE"); 
OleDbCommand cmdNewID = new OleDbCommand("select * from dfb
的名字", ContactMgmt); 
ContactMgmt.Open(); 
OleDbDataReader aReader = cmdNewID.ExecuteReader(); while(aReader.Read())
{
}
.....以上代码会抛出一下异常:
文件路径如(e:\data.dbf is not a table)在调试过程中无意在ContactMgmt.Open();  和OleDbDataReader aReader = cmdNewID.ExecuteReader(); 
之间加上DataTable dt = connection.GetSchema("tables");代码,读取数据正常 不知道为什么  请高手解答  

解决方案 »

  1.   

    感觉也没什么问题,你把连接字符串改改:
    oConn.Open "Driver={Microsoft Visual FoxPro Driver};" & _
              "SourceType=DBF;" & _
              "SourceDB=c:\somepath\mySourceDbFolder;" & _
              "Exclusive=No;"
      

  2.   

    发现一个问题,oledb没有提供对foxpro的连接字符串,你改用odbc,
    用OdbcCommand对象
      

  3.   

    odbc 不行  可以建立连接  一执行sql语句就报错
      

  4.   

    oledb 只要下个驱动就行  下载地址就是我那个
      

  5.   

    ;Data Source=C:\\文件夹名字“,你报错的是”e:\data.dbf is not a table“,
    这两个不在同一目录啊
      

  6.   

    Data Source=C:\\文件夹名字”,而报错“e:\data.dbf is not a table”,
    这两个明显不在同一目录啊
      

  7.   

    Data Source=C:\\文件夹名字“  那个只是我举得例子  e:\data.dbf is not a table“是实际报的错  s算了  结贴
      

  8.   

    我的问题也解决了 这种问题一般是dbf文件的问题 我用的是多线程 当dbf文件还没有传输完毕的时候程序就尝试读取文件所以报了这个错误!