我正在尝试读写DBF文件的一些工作,我发现了这个示例:http://www.aspcode.net/reading-dbf-files-in-c
该示例介绍如何通过C#编程语言来读取DBF文件。您可以在上述链接中下载示例代码并根据您的需要进行修改和使用。System.Data.Odbc.OdbcConnection oConn = new System.Data.Odbc.OdbcConnection();
oConn.ConnectionString = @"Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=D:\databases\;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;";
oConn.Open();
System.Data.Odbc.OdbcCommand oCmd = oConn.CreateCommand();
oCmd.CommandText = @"SELECT * FROM D:\databases\thefile.dbf" ;
DataTable dt = new DataTable();
dt.Load(oCmd.ExecuteReader());
oConn.Close();
dataGridView1.DataSource = dt;
唯一的问题是,如果文件或文件夹名称中有破折号(-),它将无法正常工作。有没有办法使这个查询在名称中带有破折号时也能正常工作?
例如,DBF 文件:C:\Temp\bowlpos\07-10\01-07-10.DBF
[]
进行转义来仅选择SELECT * from [thefile-with-hyphens]
(而不包括驱动器和文件夹)。 - Ken WhiteERROR [42S02] [Microsoft][ODBC dBase Driver] The Microsoft Jet database engine could not find the object '05-05-11.DBF'. Make sure the object exists and that you spell its name and the path name correctly.
只是用:SELECT * FROM [05-05-11.DBF] 并设置配置文件夹为该文件夹。 - dkarzon