我们可以在app.config文件中声明变量吗?

时间:2010-11-23 14:09:46

标签: c# sql-server visual-studio ado.net

我有一个需要连接到SQL Server的表单,我有一个下拉列表,用于选择数据库列表并执行主键检查等操作。 但是目前我的连接字符串看起来像这样:

SqlConnection sConnection = new SqlConnection("Server=192.168.10.3;DataBase=GoalPlanNew;User Id=gp;Password=gp");

但是除了给定的数据库之外,我需要将其变为可变,以便我可以将其连接到我从下拉列表中选择的数据库。

你们能帮助我吗?

4 个答案:

答案 0 :(得分:29)

嗯,你可以像这样声明你的变量

<appSettings>
    <add key="SmtpServerHost" value="********" />
    <add key="SmtpServerPort" value="25" />
    <add key="SmtpServerUserName" value="******" />
    <add key="SmtpServerPassword" value="*****" />
</appSettings>

并阅读

string smtpHost = ConfigurationManager.AppSettings["SmtpServerHost"];
int smtpPort = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpServerHost"]);

答案 1 :(得分:2)

我认为他想要一个“半常数”:

的Web.Config

<?xml version='1.0' encoding='utf-8'?>
<configuration>
    <connectionStrings>
        <add name="YourName" providerName="System.Data.ProviderName" connectionString="Data Source={0}; Initial Catalog=myDataBase; User Id=myUsername; Password=myPassword;" />
    </connectionStrings>
</configuration>

CS文件

String Servername = "Test";
String ConnectionString = String.Format(ConfigurationManager.ConnectionStrings["YourName"].ConnectionString, ServerName);

答案 2 :(得分:1)

您可以在app.config配置中使用 connectionStrings 标记。您可以根据需要添加任意数量(为每个键添加一个单独的键),然后检索它们

示例app.config xml(将providerName设置为有效的提供程序,例如System.Data.SqlClient,以及相应的连接字符串):

<?xml version='1.0' encoding='utf-8'?>
  <configuration>
    <connectionStrings>
      <clear />
      <add name="firstDb" 
       providerName="System.Data.ProviderName" 
       connectionString="Valid Connection String;" />
      <add name="secondDb" 
       providerName="System.Data.ProviderName" 
       connectionString="Valid Connection String;" />
    </connectionStrings>
  </configuration>

获取并列出它们的示例(在您的情况下,您将在下拉列表中创建相应的项目并设置值):

ConnectionStringSettingsCollection settings =
            ConfigurationManager.ConnectionStrings;

        if (settings != null)
        {
            foreach(ConnectionStringSettings cs in settings)
            {
                Console.WriteLine(cs.Name);
                Console.WriteLine(cs.ProviderName);
                Console.WriteLine(cs.ConnectionString);
            }
        }

答案 3 :(得分:0)

您可以使用AppSettings部分。请阅读here以获取示例。