簡體   English   中英

使用c#獲取.dbf文件中的數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM