【问题标题】:Update a dbf file with datagridview in C#在 C# 中使用 datagridview 更新 dbf 文件
【发布时间】:2015-12-19 03:31:11
【问题描述】:

最近我的导师让我编写一个程序,用 C# 操作 dbf 文件。我正在使用 Odbc 和 OleDb,现在我可以使用数据集将 dbf 读取到 datagridview。

我的问题是:从本地 dbf 文件读取后如何在 datagridview 中输入一些数据并将我的输入更新到本地 dbf 文件?

我是新手,不熟悉相关 API,因此示例代码会很有帮助。
这是我将 dbf 文件读取到 datagridvie 的代码

string filePath = @"C:\Users\csj\Desktop\db\ZMT.dbf";   
FileInfo fi = new FileInfo(filePath);
string mulu = fi.DirectoryName;
string filename = fi.Name;

OleDbConnection conn = new OleDbConnection();
string table = filePath;

string connStr = @"Provider=VFPOLEDB.1;Data Source=" + mulu + ";Collating   Sequence=MACHINE";

conn.ConnectionString = connStr;
conn.Open();

string sql = @"select * from " + filename;
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
DataSet dt = new DataSet();
da.Fill(dt);
conn.Close(); conn.Dispose(); 
dataGridView1.DataSource = dt.Tables[0].DefaultView; 

有什么帮助吗?

【问题讨论】:

    标签: c# datagridview dataset dbf


    【解决方案1】:

    您应该在创建 OleDbDataAdapter 后创建一个 OleDbCommandBuilder

    var builder = new OleDbCommandBuilder(da);
    

    构建器为 OleDbDataAdapter 创建更新、插入和删除命令。

    然后在您对网格进行更改后,您只需调用

    da.Update(dt);
    

    它应该是这样工作的......但我没有为 dbfs 尝试这个......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多