【问题标题】:How can I save connection string at run time in App.config file?如何在运行时将连接字符串保存在 App.config 文件中?
【发布时间】:2015-05-11 14:32:23
【问题描述】:

我尝试在运行时将连接字符串保存在 App.confing 文件中,然后在应用程序运行时打开该文件,发现连接字符串已保存在文件中,但在我关闭应用程序连接字符串已被自动删除。

您能帮我将连接字符串保留在 app.config 文件中吗? 我在表单中添加了两个文本框(txtServer 和 txtDatabase),并在用户单击时添加了一个按钮来连接数据库。

Imports System.Data.SqlClient
Imports System.Text
Imports System.Configuration
Imports System.Xml

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Try
        Dim strConnectionStringName As String = "con"
        Dim Con As StringBuilder = New StringBuilder("Data Source=")
        Con.Append(txtServer.Text)
        Con.Append(";Initial Catalog=")
        Con.Append(txtDatabase.Text)
        Con.Append(";Integrated Security=SSPI;")
        Con.Append("User ID=username; Password=xyz;")

        Dim ConStringSettings As New ConnectionStringSettings(strConnectionStringName, Con.ToString)
        Dim Config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
        AddAndSaveOneConnectionStringSettings(Config, ConStringSettings)

        Catch ex As Exception
        MessageBox.Show(ConfigurationManager.ConnectionStrings("con").ToString() & _
            "This is invalid connection", "Incorrect server/Database.")
    End Try
End Sub

Public Sub AddAndSaveOneConnectionStringSettings(ByVal Config As Configuration, _
            ByVal ConStringSettings As ConnectionStringSettings)
    Dim ConStringsSection As ConnectionStringsSection = Config.ConnectionStrings
    ConStringsSection.ConnectionStrings.Add(ConStringSettings)
    Config.Save(ConfigurationSaveMode.Minimal)
    ConfigurationManager.RefreshSection("connectionStrings")
End Sub
End Class

【问题讨论】:

    标签: c# vb.net app-config vb.net-2010


    【解决方案1】:

    我认为你只需要指定一个强制保存:

    ConStringsSection.SectionInformation.ForceSave = True
    

    查看this post 了解更多信息。

    【讨论】:

    • 我尝试了您的解决方案,但没有任何改变,关闭应用程序后连接字符串仍然从 app.config 文件中删除。
    猜你喜欢
    • 2012-07-23
    • 2012-04-30
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 2020-02-13
    • 2021-10-21
    相关资源
    最近更新 更多