【问题标题】:Changing Connection String in C# programmatically以编程方式更改 C# 中的连接字符串
【发布时间】:2015-06-06 02:58:35
【问题描述】:

我需要在我的系统中进行连接设置(在运行时更改连接字符串)。我的意思是用户可以设置并连接到他们想要的任何服务器。我的问题是,如何检索用户在连接设置中创建的最后一个连接字符串并在用户重新运行程序时使用它?

到目前为止,这是我所做的:

connect = "Data Source=" + Class1.DS.ToString() + ";Initial Catalog=" + Class1.IC.ToString() + ";Integrated Security= True;pooling=false;Connection Timeout=0;";
MessageBox.Show("Connection Made!");
this.Close();`(this is for the settings form)

 frmSettings settings = new frmSettings();
                    connectString = frmSettings.connect.ToString();
                    dbconnection = new SqlConnection(connectString);
                    dbconnection.Open(); //<--(and this is where I call the connection string after the set-up)

我将如何检索用户创建的最后一个连接字符串?任何建议请帮助我..

【问题讨论】:

  • 假设你仅限于 SQL Server,你应该看看 SqlConnectionStringBuilder 类:msdn.microsoft.com/en-us/library/…
  • @GrantWinney 用户只输入了数据源(服务器名称)和初始目录(数据库名称)......他们在文本框上输入值......
  • 我建议你使用 UDL 文件 ;)。
  • 先生。 @GrantWinney 你能告诉我怎么做吗?
  • 很多想法浮现在脑海;一种是将用户设置存储在本地数据库中。如果您愿意,您还可以存储连接历史记录,允许用户选择任何最近的连接。

标签: c# connection-string


【解决方案1】:

我假设您使用的是 WinForm。保存设置有很多选项,例如注册表、自定义 ini 等。在去其他地方之前我总是尝试的最简单的方法是配置文件。

将“System.Configuration”添加到您的项目参考中。右键单击您的项目和“添加新项目”,搜索“配置”,您将看到“应用程序配置文件”,添加它。现在你有了一个 App.Config。

您可以将项目添加到文件中,例如:

<?xml version="1.0"?>
<configuration>
<appSettings>
    <add key="Config1" value="Foo" />
    <add key="Config2" value="Bar" />
</appSettings>
</configuration>

要使用它,你可以这样做:

Configuration configManager = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var conf = configManager.AppSettings.Settings;
string val1 = conf["Config1"].Value;

您可以使用 OpenExeConfiguration 调用来根据您的 YourApp.exe.config 文件查找不同的位置,但您明白了...

【讨论】:

  • 我需要在运行时保存它。我怎样才能做到?我认为你的建议是硬编码的..
  • @Qwety 你可以调用 configManager.save() 保存回 XML。
  • @Qwety 请将此视为答案。
猜你喜欢
  • 2012-06-12
  • 1970-01-01
  • 2010-09-08
  • 1970-01-01
  • 2011-05-31
  • 1970-01-01
  • 2015-08-10
  • 2011-10-19
  • 1970-01-01
相关资源
最近更新 更多