2010-11-23 7 views
8

deklarieren Ich habe ein Formular, das mit dem SQL Server verbunden werden muss und ich habe ein Dropdown für die Auswahl der Liste von Datenbanken und Operationen wie Primärschlüsselüberprüfung usw. Aber derzeit meine Verbindungszeichenfolge sieht wie folgt aus:Können wir Variablen in app.config-Datei

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

Aber abgesehen von der angegebenen Datenbank ich brauche es Variable zu nehmen, so dass ich es mit der Datenbank verbinden kann ich aus der Dropdown auswählen.

Können Sie mir bitte helfen Sie mir!

Antwort

22

Hmm Sie Ihre Variablen wie erklären können dies

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

und lesen sich wie

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

Was hier enthalten schätzen würde? – Srivastava

+0

Wert enthält Ihren Wert :) Wenn Sie serverhost Wert "asd.abc.com" schreiben, dann ist Ihr String smtpHost Wert "asd.abl.com" –

+1

@SerkanHekimoglu Sie sollten wahrscheinlich auch Namespace für ConfigurationManager - System.Configuration angeben. Und diese geeignete Referenz sollte auch der Lösung hinzugefügt werden. –

1

Sie können das connectionStrings Tag in der Konfiguration app.config verwenden. Sie können beliebig viele hinzufügen (geben Sie ihnen jeweils einen separaten Schlüssel) und sie dann abrufen

Beispiel app.config xml (setzen Sie ProviderName zu einem gültigen Anbieter, zum Beispiel System.Data.SqlClient, und die entsprechende Verbindungszeichenfolge):

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

Beispiel auf sie bekommen und die Auflistung ihnen (in Ihrem Fall Sie die entsprechenden Elemente in der Dropdown-Liste erstellen würden und die Werte eingestellt):

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

Sie den Abschnitt AppSettings verwenden könnte. Lesen Sie here für ein Beispiel.

2

Ich glaube, er will ein "semi-Konstante":

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 Datei

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