【问题标题】:User selectable SQL Server Compact database用户可选择的 SQL Server Compact 数据库
【发布时间】:2012-08-28 19:31:21
【问题描述】:

我们正在创建一个应用程序,它使用 SQL Server Compact .sdf 文件将数据存储在多个表中。

当程序启动时,我们希望向用户展示从已经包含数据的现有数据库文件中工作的选项,或者创建一个新的空数据库文件。我们已经使用 Visual Studio 中的数据库资源管理器创建了 .sdf 文件,所以我认为它默认与 bin 文件一起存储。

两个问题:

  • 我们如何使用OpenFileDialog允许用户选择数据库并相应地修改数据连接?

  • 当用户决定从一个新数据库开始时,程序会记住我们用数据库浏览器创建的数据库结构,还是我们必须在程序中从头开始重新创建表、字段和连接?

谢谢!

【问题讨论】:

    标签: c# sql-server-ce openfiledialog


    【解决方案1】:

    除非您有意希望用户能够从其计算机上的任意位置访问 DB 文件,否则最好将 DB 文件存储在应用程序目录中并让用户从简单的 ListView(您将通过迭代应用程序数据目录或子目录中的所有 DB 文件来填充)。

    对于第二个问题,您应该创建一个包含正确表、字段等但没有数据的模板数据库文件,并将其作为资源嵌入到您的应用程序中。要为用户创建一个新数据库,您需要将此资源复制到实际文件位置(使用新数据库的文件名)。

    【讨论】:

    • 我喜欢你建议的将各种数据库存储在应用程序目录中的方法,并允许他们选择一个,或者创建一个新的。我仍然不确定如何更改各种查询正在使用的活动文件。我似乎无法在项目的命名空间中找到数据库本身。我可以查看解决方案资源管理器中显示的数据库属性,但似乎无法以编程方式修改它的属性。
    • 用于打开Connection 对象的连接字符串应包含本地数据库的路径;要更改“活动”数据库,您只需要构建一个新的连接字符串并打开一个新的 Connection 对象。
    • 关于您的第二个问题:我不知道,因为我不确定您是如何在项目中设置的。您可能会很好地在 SO 上问另一个关于此的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    相关资源
    最近更新 更多