Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .Net简单数据文件用法_C#_Database - Fatal编程技术网

C# .Net简单数据文件用法

C# .Net简单数据文件用法,c#,database,C#,Database,我在.Net(2010 4.0)中创建了一个新项目,并添加了一个SDF数据文件。我已经生成了一个数据集,并在其中创建了一个表(我相信还生成了Fill和其他方法) 在代码中,我试图向数据库中添加一行 eBureauScrubber.App_Data.matchingtempDataSet ds = new App_Data.matchingtempDataSet(); eBureauScrubber.App_Data.matchingtempDataSet.ctfF

我在.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);
这个很好。但是,程序完成后,数据不会持久保存在数据库中。我错过了什么

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

编辑2:下面是我为让它工作所做的(尽管它仍然很时髦)

  • 将App_数据中我的DB文件的属性更改为“不复制”
  • 手动将该db文件复制到bin\debug\app\u数据
  • 使用数据适配器的填充方法填充ds.ctfFile数据表
  • 创建一行(.NewctfFileRow())
  • 在该行上设置值
  • ds.ctfFile.Rows.Add(行)
  • ds.ctfFile.AcceptChanges()
  • ds.AcceptChanges()
  • 调用adapater的更新方法

  • 现在,数据在我的数据库文件中(在bin\debug\app\u data中),但我看不到它,因为数据源已连接。我仍在尝试如何做到这一点。

    它应该已经生成了一个带有
    .Update()
    方法的
    TableAdapter
    类,您必须调用该方法才能将数据保存到数据库中。请参阅以获取一些示例。

    是否接受更改并仅在内存中更新?您需要为db Update调用适配器的更新方法。确实如此。我用得不对。首先,它总是复制数据库的新副本。某处。然后我不得不手动将数据库复制到bin\debug\app\u数据文件夹。然后我必须用适配器填充数据集,然后它实际插入。我知道这一点的唯一原因是它试图插入一个重复的密钥,所以实际上,我现在在我的app_code文件夹中有一个数据库,我猜它只是一个模板,数据源浏览器可以连接到它,但不显示数据。我有另一个数据库,它确实有数据,但除了在代码执行期间,我不知道如何查看它。