2012-06-21 21 views
14

Estoy bastante seguro de que hay algún error rápido y fácil en este código pero de alguna manera he pasado las últimas 2 horas con esto y no pude resolverlo.Obtener ConnectionString desde 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 } 

Método.

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

error:

Object reference not set to an instance of an object

en la línea:

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

EDIT:

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

Respuesta

10

que debe ser:

ConfigurationManager.ConnectionStrings["BO"].ConnectionString; 

Editar:

Necesitará las bibliotecas correspondientes, así si no los tiene, sin embargo, como se menciona en las respuestas a continuación, creo que es System.Configuration

Así que en completo usted debe tener:

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

Corregido la biblioteca, es System.Configuration –

+0

si uso "Conexiones ConnectionStringSettingsCollection = ConfigurationManager.ConnectionStrings [" BO "] ConnectionString;". Aparece el error "No se puede convertir implícitamente el tipo 'cadena' a 'System.Configuration.ConnectionStringSettingsCollection'" –

+0

No necesita hacer eso, en su función getNewConnection() simplemente tiene 'return ConfigurationManager.ConnectionStrings [" BO "]. ConnectionString; ' –

1

¿Ha empleado el WebConfigurationManager?

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

dice que System.Web no contiene .Configuration, etc. (He añadido usando System.Web) –

2

utilizar estos códigos en la Clase:

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

me da el mismo error (ahora haciendo referencia a su línea de código). ¿Sería mi app.config incorrecta? –

0

agregar una referencia a System.Configuration.dll, y usted debería ser capaz de utilizar el System.Configuration.ConfigurationManager.

Cuestiones relacionadas