在我的Visual Basic应用程序中,我有一个我正在使用的访问数据库文件。它显示在解决方案资源管理器窗口中。一切都很好,直到我安装。由于某种原因,数据库文件不会与安装一起使用。我想我需要在运行时编辑连接字符串,但我不确定。我之前没有做过这样的事情,我找不到有关它的信息。
如果有人可以将我发送到教程,或者在安装应用程序后简要说明如何使用访问数据库。
当我的程序运行时,它会在
中创建一个目录User\App Data\Roaming\CreatedFolder\Resources\DatabaseFile.accdb
那么如何在不知道App Data的完整路径的情况下设置此路径?
答案 0 :(得分:3)
您可以使用
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 :(得分:2)
我这样做的方式是:
Add New Data Source . . .
Database
,然后点击下一步Choose your data connection
页面中,点击New connection
Microsoft Access Database File
,然后点击下一步现在Visual Studio会问你:
您选择的连接使用不在的本地数据文件 当前的项目。您要将文件复制到项目中吗? 并修改连接?
如果将数据文件复制到项目中,它将被复制到项目中 每次运行应用程序时输出目录。按F1键 有关控制此行为的信息。
单击“是”,Visual Studio将数据库添加到项目中,并创建一个指向复制数据库的连接字符串。
|DataDirectory|
的连接字符串。根据需要修改此页面的内容。向导应配置连接字符串并构建信息,以便无论您在何处使用它,您的应用程序都将正常工作。
编辑 - 我在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>
我还将数据库文件的Build Action设置为“始终复制”。