OleDbException:记录已删除.在任何记录中都找不到搜索关键字
本文关键字:记录 找不到 搜索 关键字 删除 OleDbException 任何 | 更新日期: 2024-10-24 10:35:05
我正试图通过C#方法导入带有一个表的DBF文件。该代码适用于大多数文件,但其中一个文件似乎已损坏。我不确定是代码页差异导致它损坏还是其他什么,如果有人有任何见解,请帮助!
public static void LoadDbf(DataTable destinationDataTable, string DbfDbPath, string DbfDbName)
{
destinationDataTable.Clear();
using (var CS = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DbfDbPath + ";Extended Properties=dBASE III;"))
{
try
{
string selectTableSyntax = @"SELECT * FROM " + DbfDbName;
OleDbDataAdapter adapter = new OleDbDataAdapter(selectTableSyntax, CS);
adapter.Fill(destinationDataTable);
}
catch (Exception ex)
{
MessageBox.Show("Pogreška prilikom učitavanja baze " + DbfDbName + ".'r'n'r'n" + ex.ToString());
}
finally
{
CS.Close();
}
}
}
在本文的帮助下修复了它:
http://www.codeproject.com/Articles/24247/Load-a-DBF-into-a-DataTable
基本上,它通过BinaryReader加载数据,然后将其存储到DataTable 中
具有一个类和一个方法的非常优雅的代码
dataTable=ParseDBF.ReadDBF(完整路径);