.Net简单数据文件用法

时间:2011-03-22 16:49:36

标签: c# database

我在.Net(2010 4.0)中创建了一个新项目,并添加了一个SDF数据文件。我已经生成了一个数据集并在其中创建了一个表(我相信生成了Fill和其他方法)。

在代码中,我正在尝试向数据库添加一行。

        eBureauScrubber.App_Data.matchingtempDataSet ds = new App_Data.matchingtempDataSet();
        eBureauScrubber.App_Data.matchingtempDataSet.ctfFileRow row = ds.ctfFile.NewctfFileRow();
        row.Address = "123 Main St.";
        row.City = "Overland Park";
        row.FirstName = "Matt";
        row.LastName = "Dawdy";
        row.rownum = 1;

编辑:添加了下一段代码。

        ds.ctfFile.Rows.Add(row);
        ds.ctfFile.AcceptChanges();
        ds.AcceptChanges();

        eBureauScrubber.App_Data.matchingtempDataSetTableAdapters.ctfFileTableAdapter ctfa = new App_Data.matchingtempDataSetTableAdapters.ctfFileTableAdapter();
        ctfa.Update(ds.ctfFile);

这很好。但是,在程序完成后,数据不会保留在数据库中。我错过了什么?

编辑:我已经在数据表,数据集,运行update()之前,之后等尝试了所有不同的AcceptChanges()组合。我在这里遗漏了一些巨大的东西。我甚至不确定它是否连接到“正确的”数据库。也许那是我的问题。

编辑2:这就是我为了让它发挥作用所做的事情(虽然它仍然很时髦)。

  1. 将App_Data中我的数据库文件的属性更改为“不要复制”
  2. 将该db文件手动复制到bin \ debug \ app_data
  3. 使用数据适配器的填充方法填充ds.ctfFile数据表。
  4. 创建一行(.NewctfFileRow())
  5. 在该行上设置值。
  6. ds.ctfFile.Rows.Add(行)
  7. ds.ctfFile.AcceptChanges();
  8. ds.AcceptChanges();
  9. 调用adapater的更新方法。
  10. 现在,数据在我的数据库文件中(在bin \ debug \ app_data中),但由于数据源连接,我无法看到它。我还在试图找出如何做到这一点。

1 个答案:

答案 0 :(得分:2)

它应该生成一个带有TableAdapter方法的.Update()类,您必须调用该方法来保存数据库中的数据。有关示例,请参阅MSDN