繁体   English   中英

如何使用应用程序复制访问数据库文件?

[英]How do I copy an access database file with my application?

在我的Visual Basic应用程序中,我有一个正在使用的访问数据库文件。 它显示在解决方案资源管理器窗口中。 在我安装之前,一切正常。 由于某种原因,数据库文件不随安装一起提供。 我想我需要在运行时编辑连接字符串,但是我不确定。 我以前没有做过这样的事情,也找不到有关它的信息。

如果有人可以将我发送到教程中或对安装应用程序后如何使用访问数据库进行简要说明。

当我的程序运行时,它将在以下目录中创建一个目录

User\App Data\Roaming\CreatedFolder\Resources\DatabaseFile.accdb

那么,如何在不知道App Data完整路径的情况下设置此路径?

您可以使用

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

要么

Environment.GetEnvironmentVariable("APPDATA")

他们俩都应该返回类似

C:\Users\Gord\AppData\Roaming

因此您可以像下面这样建立连接字符串:

Dim dbPath = _
        Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & _
        "\CreatedFolder\Resources\DatabaseFile.accdb"
Dim connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath

我这样做的方式是:

  1. 选择Add New Data Source . . . Add New Data Source . . . 从Visual Studio的“数据源”窗口中
  2. 从出现的列表中选择Database ,然后单击下一步
  3. 点击下一步
  4. 在向导的Choose your data connection页面中,单击“ New connection
  5. 从列表框中选择Microsoft Access Database File ,然后单击下一步。
  6. 选择不在您目录中的数据库文件副本,然后输入任何登录信息
  7. 点击确定
  8. 现在,Visual Studio将询问您:

    您选择的连接使用的本地数据文件不在当前项目中。 您想将文件复制到项目中并修改连接吗?

    如果将数据文件复制到项目,则每次运行应用程序时,该文件都会复制到项目的输出目录。 按F1键以获取有关控制此行为的信息。

单击“是”,Visual Studio会将数据库添加到您的项目中,并建立一个指向复制的数据库的连接字符串。

  1. 现在,您可能需要将连接字符串保存在App.Config中,这样您就不必在每次使用数据库时都重新构建它。 这很可能会保存使用|DataDirectory|的连接字符串|DataDirectory| 根据需要修改此页面的内容。
  2. 继续执行向导的其余部分,并根据需要配置数据库。

该向导应配置连接字符串并生成信息,以便无论在何处使用应用程序都可以使用它。

编辑-我的连接字符串保存在App.config中,如下所示

    <connectionStrings>
        <add name="SOAccessDatabase.My.MySettings.Students_2000formatConnectionString"
            connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Students_2000format.mdb"
            providerName="System.Data.OleDb" />
    </connectionStrings>

我还将数据库文件的“构建操作”设置为“始终复制”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM