我一直使用DbfDataReader来读取C#应用程序中的DBF文件。到目前为止,我可以读取列名,列索引并成功遍历记录。在不使用列索引的情况下,似乎没有一种方法可以读取特定的列数据。例如,我可以使用以下语句获得FIRSTNAME值:
using DbfDataReader;
var dbfPath = "/CONTACTS.DBF";
using (var dbfTable = new DbfTable(dbfPath, EncodingProvider.UTF8))
{
var dbfRecord = new DbfRecord(dbfTable);
while (dbfTable.Read(dbfRecord))
{
Console.WriteLine(dbfRecord.Values[1].ToString()); // would prefer to use something like dbfRecord.Values["FIRSTNAME"].ToString()
Console.WriteLine(dbfRecord.Values[2].ToString()); // would prefer to use something like dbfRecord.Values["LASTNAME"].ToString()
}
}
其中1是FIRSTNAME列的索引,而2是LASTNAME列的索引。无论如何,对于本质上是名称/值对的东西,是否可以使用“ FIRSTNAME”(或列名)作为键(或访问器)?我的目标是获取我关心的所有列,而不必每次都先构建此映射。 (如果我使用的术语不正确,请原谅我。)>
非常感谢您看这个...
我一直在使用DbfDataReader读取C#应用程序中的DBF文件。到目前为止,我可以读取列名,列索引并成功遍历记录。似乎没有办法...
使用DbfDataReader类,如下所示: