0

所以,伙计们。这里发生了一件有趣的事情。

我有一个用 VS2008 制作的 Windows 窗体应用程序,直到最近,它一直连接到 SQL Server 2008 数据库。我能够编辑、插入、删除或选择数据库中的任何各种表,并且提交了更改——每次我通过 SQL 查询对数据库进行更改时,该更改都会反映在数据库中。

然而,在过去的几天里,我已将数据库文件导入 VS studio .SLN,并将我的数据集数量从三个减少到一个(为方便起见,将不同的表组合在一起),现在——我对数据库不会提交。

我观察到以下行为:

1) 从表中插入或删除记录没有被提交——下次我运行我的程序时,删除的记录又回来了,任何插入的记录都消失了。以前,Insert 和 Delete 在运行时似乎会提交更改。

2) 使用 UPDATE 命令手动提交更改有效——添加的记录保留,删除的记录保留,但是......

3) 如果我出于某种原因重建解决方案,数据库会“重置”为我第一次更改数据库位置时的状态。

有没有人知道我现在正在做的不同的事情会产生这种行为?

4

2 回答 2

2

在解决方案资源管理器窗口中选择 .mdf。在“属性”窗口中,将“复制到输出目录”更改为“如果较新则复制”。

于 2010-06-28T19:56:38.607 回答
0

我已将数据库文件导入 VS studio .SLN

仔细查看您的项目文件夹。您可能会在项目的根目录中找到一个 .MDF 文件,在 Bin/Debug 中找到另一个(工作副本)。在每次(重新)构建时,工作副本都会被覆盖。

换句话说,这是设计使然。

于 2010-06-28T19:24:19.670 回答