2010-11-23 36 views
8

我有一个需要连接到SQL Server的表单,我有一个下拉菜单用于选择数据库列表并执行像主键检查等操作。 但是现在我的连接字符串看起来是这样的:我们可以在app.config文件中声明变量

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

但除了从给定的数据库,我需要把它的变量,这样我可以把它连接到我从下拉列表中选择数据库。

你们能帮我吗?

回答

22

嗯,你可以声明变量,如这

<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"]); 
+0

会看重什么包含在这里? – Srivastava 2010-11-23 14:21:13

1

您可以在app.config配置中使用connectionStrings标记。您可以根据需要添加尽可能多的密钥(并为每个密钥分配一个密钥),然后检索它们

示例app.config xml(将provider名称设置为有效的提供程序,例如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); 
      } 
     } 
0

你可以在使用AppSettings部分。阅读here为例。

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); 
相关问题