How to fix “The ConnectionString property has not been initialized”

后端 未结 6 439
一生所求
一生所求 2020-11-27 04:58

When I start my application I get: The ConnectionString property has not been initialized.

Web.config:



        
相关标签:
6条回答
  • 2020-11-27 05:25

    Referencing the connection string should be done as such:

    MySQLHelper.ExecuteNonQuery(
    ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString,
    CommandType.Text,
    sqlQuery,
    sqlParams);
    

    ConfigurationManager.AppSettings["ConnectionString"] would be looking in the AppSettings for something named ConnectionString, which it would not find. This is why your error message indicated the "ConnectionString" property has not been initialized, because it is looking for an initialized property of AppSettings named ConnectionString.

    ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString instructs to look for the connection string named "MyDB".

    Here is someone talking about using web.config connection strings

    0 讨论(0)
  • 2020-11-27 05:25

    Simply in Code Behind Page use:-

    SqlConnection con = new SqlConnection("Data Source = DellPC; Initial Catalog = Account; user = sa; password = admin");
    

    It Should Work Just Fine

    0 讨论(0)
  • 2020-11-27 05:32

    Use [] instead of () as below example.

    SqlDataAdapter adapter = new SqlDataAdapter(sql, ConfigurationManager.ConnectionStrings["FADB_ConnectionString"].ConnectionString);
                DataTable data = new DataTable();
                DataSet ds = new DataSet();
    
    0 讨论(0)
  • 2020-11-27 05:35

    The connection string is not in AppSettings.

    What you're looking for is in:

    System.Configuration.ConfigurationManager.ConnectionStrings["MyDB"]...
    
    0 讨论(0)
  • 2020-11-27 05:35

    I stumbled in the same problem while working on a web api Asp Net Core project. I followed the suggestion to change the reference in my code to:

    ConfigurationManager.ConnectionStrings["NameOfTheConnectionString"].ConnectionString
    

    but adding the reference to System.Configuration.dll caused the error "Reference not valid or not supported".

    To fix the problem I had to download the package System.Configuration.ConfigurationManager using NuGet (Tools -> Nuget Package-> Manage Nuget packages for the solution)

    0 讨论(0)
  • 2020-11-27 05:39

    You get this error when a datasource attempts to bind to data but cannot because it cannot find the connection string. In my experience, this is not usually due to an error in the web.config (though I am not 100% sure of this).

    If you are programmatically assigning a datasource (such as a SqlDataSource) or creating a query (i.e. using a SqlConnection/SqlCommand combination), make sure you assigned it a ConnectionString.

    var connection = new SqlConnection(ConfigurationManager.ConnectionStrings[nameOfString].ConnectionString);
    

    If you are hooking up a databound element to a datasource (i.e. a GridView or ComboBox to a SqlDataSource), make sure the datasource is assigned to one of your connection strings.

    Post your code (for the databound element and the web.config to be safe) and we can take a look at it.

    EDIT: I think the problem is that you are trying to get the Connection String from the AppSettings area, and programmatically that is not where it exists. Try replacing that with ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString (if ConnectionString is the name of your connection string.)

    0 讨论(0)
提交回复
热议问题