更改app.config的连接字符串值

时间:2012-01-07 05:19:14

标签: c#

我正在尝试更改连接字符串值

  

connectionString =“Data Source = localhost; Initial Catalog = Tracker; Persist Security Info = false; User ID = sa; Password = p @ ssw0rd”

来自我的用户界面。任何人都可以帮助从Windows应用程序中的用户界面更改设置吗?

4 个答案:

答案 0 :(得分:1)

从原始帖子的评论主题来看,听起来OP需要枚举数据源并允许用户选择一个(并且可能存储该首选项)。假设情况就是这样......

  • 如果可能的话,应使用集成的Windows安全性来保护与数据库的实际连接。这是best practice。集成安全性消除了在任何地方存储凭证的需要。

  • 如果目标是选择数据源,使用C#列出所有databases within an environment并不困难。

  • 用户的偏好/选择应存储在app.config以外的其他位置。如果不涉及凭据,则注册表,隔离存储或XML文件都是有效选项。

答案 1 :(得分:1)

  

ASP.NET提供网站管理工具,以查看和管理ASP.NET网站的配置设置。这些配置设置存储在名为web.config的xml文件中。

     

web.config 是一个应用程序配置文件,用于为ASP.NET应用程序定义配置设置,如连接字符串,身份验证,授权等

     

该工具提供了一个易于使用的界面来编辑配置设置。但是,当您必须手动进行更改时,此工具可以正常工作。有时,我们可能需要在运行时对web.config进行更改。例如:用户请求控制连接字符串,更改会话超时等。   为此,ASP.NET提供了配置API,以编程方式操作web.config中的配置设置。 API包含在 System.Configuration System.Web.Configuration 名称空间中。实际上,网站管理工具内部使用相同的API来编辑配置设置。    System.Web.Configuration 命名空间中的 WebConfigurationManager 类用于创建Configuration对象。此对象用于读取和写入对web.config文件的更改。 See

另见Securing Connection Strings

让我澄清一下,这不是你所要求的,但通过阅读本文,你将能够找到一些线索,并了解推荐的内容和不推荐的内容。

答案 2 :(得分:1)

如果这是Windows应用程序,则无需更改app.config文件即可更改活动数据库连接。我已经写过on my blog

答案 3 :(得分:0)

以下用户使用C#更改连接字符串的方法:

public class DbInfo
{
    public DataBaseType dbType { get; set; }
    public SqlServerAuthenticationType sqlServerAuthType { get; set; }
    public string ConnectionString { get; set; }
    public string databaseAdress { get; set; }
    public string userId { get; set; }
    public string password { get; set; }
    public string Port { get; set; }
    public string DatabaseName { get; set; }
}

public enum DataBaseType
{
    Unknown = 0,
    Embedded = 1,
    Microsoft_SQL_Server =2,
}

public enum SqlServerAuthenticationType
{
    Windows_Authentication = 0 ,
    SQL_Server_Authentication =1
}

添加下面的类DBinfo

private DataGridView dataGridView3;
private DataGridViewTextBoxColumn columnQuestion;
private DataGridViewTextBoxColumn columnAnswer;