【问题标题】:How to Update Data Source in C#如何在 C# 中更新数据源
【发布时间】:2010-10-07 20:50:07
【问题描述】:

我正在 Visual Studio 2008 中使用 C# 和 Access 数据库作为后端开发基于 Windows 窗体的应用程序。我通过转到Data->Add New Data Source将Access数据库添加到项目中,并且可以完美地从数据库的定制DataSet中检索数据。

我的下一个目标是将新数据保存回 Access 数据库,创建一个新行。然而,对于我的一生,我似乎无法弄清楚如何做到这一点。看起来我需要一个 OLEDbConnection 到数据库或一个 TableAdapter 连接到数据库,但我似乎没有其中任何一个。我认为当我添加新数据源时它们会是预制的或其他东西,就像 DataSet 一样,但如果是这种情况,我不知道如何引用它们。

将数据重新添加到已添加到项目中的数据源的最佳方法是什么?

【问题讨论】:

    标签: c# .net database visual-studio-2008 ms-access


    【解决方案1】:

    您可能有一个(配置的)TableAdapter,它与您的(生成的)数据集位于一个子命名空间中。

    您的代码中必须有一个Adapter.Fill(table),找到它。
    将其复制并更改为Adapter.Update(table) 以写回数据库。

    不要与您讨论添加记录的多种其他方式,请查看videos here

    【讨论】:

    • 接受,因为该链接让我对底层系统有了更好的理解,所以我可以自己解决。
    【解决方案2】:

    这就是我最终解决它的方式: 我必须创建一个新的表适配器,创建一个新行,然后用它更新表适配器。

    // Set up the table adapter and new row
    MyDataSetTableAdapters.EmployeeTableAdapter adapter;
    adapter = new MyDataSetTableAdapters.EmployeeTableAdapter();
    MyDataSet.EmployeeDataTable table = adapter.GetData();
    MyDataSet.EmployeeRow newRow;
    newRow = table.NewEmployeeRow();
    
    // Insert the values of the fields into the new row here
    
    // Save the row
    table.AddEmployeeRow(newRow);
    adapter.Update(table);
    

    感谢您的帮助!

    【讨论】:

      猜你喜欢
      • 2014-12-04
      • 2021-05-26
      • 2011-09-10
      • 1970-01-01
      • 1970-01-01
      • 2017-08-20
      • 2011-11-02
      • 2014-02-05
      • 1970-01-01
      相关资源
      最近更新 更多