[英]Get data in a .dbf file using c#
如何使用 C# 獲取 a.dbf 文件中的數據?
我想要做的是讀取每一行(同一列)中的數據以進一步處理它們。
謝謝。
您可以創建一個到 dbf 文件的連接字符串,然后使用 OleDb,您可以填充一個數據集,例如:
string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=directoryPath;Extended Properties=dBASE IV;User ID=Admin;Password=;";
using (OleDbConnection con = new OleDbConnection(constr))
{
var sql = "select * from " + fileName;
OleDbCommand cmd = new OleDbCommand(sql, con);
con.Open();
DataSet ds = new DataSet(); ;
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(ds);
}
稍后您可以使用ds.Tables[0]
進行進一步處理。
您還可以查看這篇文章將 DBF 加載到數據表中
我發現接受的答案對我不起作用,因為我正在使用的 .dbf 文件嵌套在目錄層次結構中,這使得路徑相當長,遺憾的是,這會導致OleDbCommand
對象拋出。
我找到了一個簡潔的小庫,它只需要一個文件路徑就可以工作。 這是根據其 GitHub 頁面上的示例改編的一個小示例:
var file = "C:\\Path\\To\\File.dbf";
using (var dbfDataReader = new DbfDataReader(file))
{
while (dbfDataReader.Read())
{
var foo = Convert.ToString(dbfDataReader["FOO"]);
var bar = Convert.ToInt32(dbfDataReader["BAR"]);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.