2012-06-21 14 views
14

Sono abbastanza sicuro che ci sia qualche errore facile e veloce in questo codice, ma in qualche modo ho passato le ultime 2 ore con questo e non ho potuto risolverlo.Ottieni ConnectionString da app.config

App.config:

<configuration> 
    <connectionStrings> 
    <add name="BO" 
     connectionString="Data Source=MyServer;Initial Catalog=BO;User ID=WebUser;Password=MyPasswd" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 

Class.cs:

string connectionString = getNewConnection(); 
using (SqlConnection conn = new SqlConnection(connectionString)) { code } 

Metodo.

public static string getNewConnection() 
{ 
    return ConfigurationManager.ConnectionStrings["BO"].ConnectionString; 
} 

Errore:

Object reference not set to an instance of an object

sulla linea:

return ConfigurationManager.ConnectionStrings["BO"].ConnectionString; 

EDIT:

Error image, the Spanish sentence means: Object reference not set to an instance of an object

risposta

10

dovrebbe essere:

ConfigurationManager.ConnectionStrings["BO"].ConnectionString; 

Edit:

Avrete bisogno le librerie corrispondenti pure se non li avete ancora, come accennato nelle risposte qui sotto Credo che la sua System.Configuration

Quindi, in completa si dovrebbe avere:

public static string getNewConnection() 
{ 
    return ConfigurationManager.ConnectionStrings["BO"].ConnectionString; 
} 
+0

Corretta la libreria, è System.Configuration –

+0

se utilizzo "ConnectionStringSettingsCollection connections = ConfigurationManager.ConnectionStrings [" BO "]. ConnectionString;" Viene visualizzato l'errore "Impossibile convertire in modo implicito il tipo 'stringa' in 'System.Configuration.ConnectionStringSettingsCollection'" –

+0

Non è necessario eseguire questa operazione, nella funzione getNewConnection() è sufficiente restituire ConfigurationManager.ConnectionStrings ["BO"]. ConnectionString; ' –

1

hai usato il WebConfigurationManager?

string MyConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["BO"].ConnectionString; 
+0

si dice che System.Web non contenga .Configurazione ecc. (Ho aggiunto utilizzando System.Web) –

2

utilizzare questi codici nella Classe:

class Connection 
    { 
     public static string con 
     { 
      get 
      { 
       return System.Configuration.ConfigurationManager.ConnectionStrings["sql"].ConnectionString; 
      } 
     } 
    } 
+0

mi dà lo stesso errore (ora facendo riferimento alla tua linea di codice). La mia app.config sarebbe sbagliata? –

0

Aggiungere un riferimento alla System.Configuration.dll, e si dovrebbe essere in grado di utilizzare lo System.Configuration.ConfigurationManager.

Problemi correlati