为什么我不能在数据库中插入数据?
本文关键字:插入 数据 数据库 不能 为什么 | 更新日期: 2023-09-27 18:03:53
我试图插入一些东西到本地数据库,但它不工作。
ModelContainer mc;
public DBController()
{
mc = new ModelContainer();
}
public void SaveArtikel(string name)
{
mc.Connection.Open();
int id = mc.Produkt.ToList().Last().ID + 1;
mc.Produkt.AddObject(new Produkt() { ID = id, Name = name });
mc.SaveChanges();
mc.Connection.Close();
}
我就是这样尝试的。(它和德语单词混在一起…)之后,我可以访问文章,但它不在数据库中..
编辑:db是一个.sdf文件。
我右键单击项目,然后按"新建项目"。在那里我搜索了"Local Database" (Compact Server)
using (var mc = new ModelContainer())
{
int id = mc.Produkt.Max(p=>p.ID) + 1;
mc.Produkt.AddObject(new Produkt() { ID = id, Name = name });
mc.SaveChanges();
}
你可以尝试类似于上面的东西,也请注意,我改变了这一行mc.Produkt.ToList().Last().ID + 1;
的原因是什么。tolist()所做的是检索所有数据库记录到内存中,然后搜索下一个可用的Id,我这样做的方式,只有一个记录被选中。
嗯,我认为它一直有效。
我发布了这个项目,看看它是如何工作的。经过多次测试,它看起来非常好。即使在我重启电脑后,数据仍在数据库中。
我不知道为什么我不能手动查看数据。但是这没有问题。
感谢所有帮助过我的人!嗯,可能发生在你身上的是,当你使用本地data.mdf
时,它有一个属性设置为总是复制到你的调试bin文件夹,所以每次你调试和运行你的项目时都会发生这种情况。如果您将数据库定位在bin文件夹中,那么当您插入某些内容时,您可以看到它在那里,但是当您再次运行项目时,表被清除。你需要做的是不断跟踪你的数据是改变属性"复制到输出目录"上的database.mdf
"复制如果更新"。