1

我将我的 vb.net 项目创建为 .exe 文件。在另一台机器上安装期间,可以将安装包的位置更改到任何驱动器。在我的项目中,我将app.config设置为指向c:\project中可用的数据库。如果我想,在安装时,当我将安装位置更改为 **d:** 或任何地方时,我会得到invalid access db. 我想要的是:

我想通过检测其当前的数据库位置来自动重新配置我的app.config文件。

4

4 回答 4

5
Imports System.Configuration
Imports System.Configuration.ConfigurationManager

        Dim config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)          
        config.ConnectionStrings.ConnectionStrings("MyProject.Properties.Settings.MyProjectConString").ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|\SampleDB;Persist Security Info=True;"
        config.Save(ConfigurationSaveMode.Modified)

MyProject.Properties.Settings.MyProjectConString您的项目名称和连接字符串在哪里。

于 2013-10-17T14:44:59.397 回答
0

简单的...

    MsgBox(My.Settings.Item("remoteAddress").ToString)
    My.Settings.Item("remoteAddress") = "abcserver.servebbs.net"
    My.Settings.Save()
    MsgBox(My.Settings.Item("remoteAddress").ToString)
于 2018-03-11T14:55:01.750 回答
0

您有三个选择: 1.) 在 C:\Databse 中创建并使用一个文件夹,并在设计时设置您的连接字符串。

2.) 在设计时将数据库添加到项目的数据源中,然后使用 '|Data Directory|\mydb.mdb' 作为连接字符串。

3.) 如果您使用 sqlserver,一旦将数据库附加到 sqlserver,您就无需担心数据库的位置。您只需要使用正确的连接字符串,例如 'Data Source=.; 数据库 = mydb; 综合安全 = 假;用户名=我的用户名;密码 = 我的密码;用户实例 = 假'。上面是一个使用 SQL 身份验证模式作为登录的 sql server 的示例,如果您使用 Windows 身份验证,请设置 Integrated Security = True 并删除用户名和密码。

于 2019-04-02T18:39:23.240 回答
0

虽然现在回答这个问题已经太晚了,因为这个问题已经很老了,但我认为这可能会在未来对其他人有所帮助。

因此,有一种方法可以在运行时更改连接字符串值。由于连接字符串与My.Settings下 Application Scope 上的所有其他项目一样是只读项目,因此我们无法使用. 但这里是您可以解决问题并更改运行时应用程序范围内的任何My.Settings项的代码。My.Setting.ConnectionString = "Something"

所以代码是,

My.Settings.Item("ConnectionString") = "Something"
于 2017-10-28T22:46:58.950 回答