如何在运行时更改app.config文件的连接字符串?

时间:2013-10-17 14:27:27

标签: vb.net

我创建了我的vb.net项目到.exe文件。 在另一台机器上安装期间,可以将安装包的位置更改为任何驱动器。 在我的项目中,我已将app.config设置为指向c:\ project中可用的数据库。 如果我想在安装时,当我将安装位置更改为d:\或任何地方时,我得到了无效的访问数据库。 我想要的是,我必须通过检测其当前的数据库位置来自动重新配置我的app.config文件。

我不清楚如何做到这一点.. 请尽我所能为你提供宝贵的帮助。 感谢。

4 个答案:

答案 0 :(得分:4)

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 是项目和连接字符串的名称。

答案 1 :(得分:0)

虽然这已经太迟了,因为问题已经很久了,但我认为这可能在将来帮助其他人。

因此,有一种方法可以在运行时更改连接字符串值。由于连接字符串是只读项,就像 My.Settings 下应用范围内的所有其他项一样,因此我们无法使用 {更改它{1}} 即可。但是,您可以使用以下代码解决问题并更改运行时中Application Scope上的任何 My.Settings 项。

所以代码是,

My.Setting.ConnectionString = "Something"

答案 2 :(得分:0)

...简单

    MsgBox(My.Settings.Item("remoteAddress").ToString)
    My.Settings.Item("remoteAddress") = "abcserver.servebbs.net"
    My.Settings.Save()
    MsgBox(My.Settings.Item("remoteAddress").ToString)

答案 3 :(得分:0)

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

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

3。)并且,如果您使用sqlserver,则在将数据库附加到sqlserver之后,就不必担心数据库的位置。您只需要使用适当的连接字符串,例如'Data Source =。;。数据库= mydb;集成安全性= False;用户名=我的用户名;密码= mypassword;用户实例=假”。 上面是使用SQL身份验证模式作为登录名的SQL Server的示例,如果使用Windows身份验证,请设置Integrated Security = True并删除用户名和密码。