【问题标题】:Changes to Access database do not persist when running app in Visual Studio在 Visual Studio 中运行应用程序时,对 Access 数据库的更改不会持续存在
【发布时间】:2013-10-25 14:31:43
【问题描述】:

我正在 Visual Studio 2010 Professional 和 Access 2010 中创建一个库应用程序。我将 Access 数据库绑定到 Visual Studio。当我填写字段并单击提交时,我可以在 DataGridView 中看到新记录,但是当我关闭应用程序时,新记录没有保存,我必须重新输入记录。

谁能帮我知道为什么当我通过应用程序输入新记录时,记录没有保存在数据库中?

【问题讨论】:

  • 您如何看待您的数据库?你确定数据库是一样的吗? (项目文件夹中的警告 DB 和输出目录 A.K.A. BIN\DEBUG 或 BIN\X86\DEBUG 中的 DB)
  • 我在 DataGridView 中看到了它。是的,先生。它是一样的。我在 DataGridView 中看到新记录,我关闭了应用程序,当我再次打开应用程序时,新记录不再在 DataGridView 或数据库中。
  • 提交操作是怎么实现的?可以贴一下代码吗?
  • 项目项中是否列出了数据库文件?如果是,它的属性是什么复制到输出目录?
  • 在复制到输出中说 = 始终复制

标签: visual-studio-2010 visual-studio ms-access datagridview


【解决方案1】:

这是一种很常见的情况。您的项目项之间列出了您的数据库文件(MDB 或 ACCDB 文件)。如果单击此文件并查看属性窗口,您将看到一个名为Copy to the output directory 的属性。如果此属性设置为Copy Always,则每次启动调试会话时,VS 都会将项目项中列出的数据库文件复制到输出目录中(通常是 BIN\DEBUG)。当然,这个副本不包含您上次调试会话中插入的记录,并且您认为您之前的插入失败了。

将此属性设置为Copy If Newer,仅当您手动更改数据库架构时才会发生上述行为。

将此属性设置为Copy Never,将允许您手动复制数据库文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-13
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 2017-02-13
    相关资源
    最近更新 更多