2010-11-23 23 views
8

Tengo un formulario que necesita para conectarse al SQL Server y tengo un menú desplegable para seleccionar la lista de bases de datos y realizar operaciones como comprobación de clave principal, etc. Pero actualmente mi cadena de conexión es el siguiente:¿Podemos declarar variables en el archivo app.config

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

Pero aparte de la base de datos dada tengo que tomarlo variable de modo que puedo conectarlo a la base de datos que seleccione en el menú desplegable.

¡Pueden ayudarme!

Respuesta

22

Hmm puede declarar sus variables como esto

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

y se leen como

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

¿Qué valor contienen aquí? El valor – Srivastava

+0

contiene su valor :) Si escribe el valor de servidor de servidor "asd.abc.com", su valor de cadena smtpHost será "asd.abl.com" –

+1

@SerkanHekimoglu Probablemente también debería indicar el espacio de nombres para ConfigurationManager - System.Configuration. Y esa referencia apropiada debería agregarse a la solución también. –

1

puede usar la etiqueta connectionStrings en la configuración de app.config. Puede agregar todos los que desee (proporcionándoles una clave por separado) y luego recuperarlos

ejemplo app.config xml (establezca providerName en un proveedor válido, por ejemplo System.Data.SqlClient, y la cadena de conexión adecuada)):

<?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> 

ejemplo en conseguir ellos y enumerarlos (en su caso, debe crear los elementos correspondientes en el menú desplegable y establecer los valores):

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

Se podría utilizar la sección AppSettings. Lea here para ver un ejemplo.

2

Creo que quiere una "constante semi":

Web.Config

archivo
<?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); 
Cuestiones relacionadas