Reputation: 9225
My C# code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Xml.Linq;
using System.Configuration;
public partial class zzsearch : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
PopulatePhysician();
}
public void PopulatePhysician()
{
string myQuery = "SELECT * FROM tblPhysician";
string conn = ConfigurationManager.ConnectionStrings["ConnStringTEST"].ConnectionString;
SqlConnection cn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand(myQuery, cn);
SqlDataReader ddlValues = default(SqlDataReader);
ddlValues = cmd.ExecuteReader();
if (!IsPostBack)
{
name.DataSource = ddlValues;
name.DataValueField = "content_id";
name.DataTextField = "content_title";
name.DataBind();
//set the default value for the drop down
ListItem Item = new ListItem();
Item.Text = "Select a Last Name...";
Item.Value = "0";
//Item.Selected = True
name.Items.Insert(0, Item);
}
cmd.Connection.Close();
cmd.Connection.Dispose();
}
}
My partial web.config file:
<appSettings file="Application.config">
<add key="ConnStringTEST" value="Data Source=ep-db;Initial Catalog=DSCONTENT;Integrated Security=FALSE;user=zytuid;pwd=testingitout;" />
</appSettings>
ASP code:
<asp:DropDownList ID="name" runat="server" ClientIDMode="Static">
</asp:DropDownList>
Why do I receive the following error:
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 21: {
Line 22: string myQuery = "SELECT * FROM tblPhysician";
Line 23: string conn = ConfigurationManager.ConnectionStrings["ConnStringTEST"].ConnectionString;
Line 24: SqlConnection cn = new SqlConnection(conn);
Line 25: SqlCommand cmd = new SqlCommand(myQuery, cn);
Source File: c:\Webserver\WWESTEXEC\zzsearch.aspx.cs Line: 23
Upvotes: 1
Views: 1040
Reputation: 569
I think your issue is that you are looking in ConfigurationManager.ConnectionStrings and not ConfigurationManager.AppSettings. What i mean is that your connection string in your web config is in the AppSettings section and not in the connectionStrings section.
Try This:
string conn = ConfigurationManager.AppSettings["ConnStringTEST"];
Upvotes: 0
Reputation: 12744
You should check if the value is set before you can call ConnectionString
.
Replace your code with the following:
string conn = ConfigurationManager.ConnectionStrings["ConnStringTEST"].ConnectionString
to
if(!string.IsNullOrEmpty(ConfigurationManager.ConnectionStrings["ConnStringTEST"])){
string conn = ConfigurationManager.ConnectionStrings["ConnStringTEST"].ConnectionString ;
}
Upvotes: 1
Reputation: 22436
The problem is that the connection string is added as an AppSettings entry, not as a connection string in your config file. That's why ConfigurationManager.ConnectionStrings["ConnStringTEST"]
returns null and the call to the ConnectionString
property results in a NullReferenceException
.
Change this
<appSettings file="Application.config">
<add key="ConnStringTEST" value="Data Source=ep-db;Initial Catalog=DSCONTENT;Integrated Security=FALSE;user=zytuid;pwd=testingitout;" />
</appSettings>
To this;
<connectionStrings>
<add name="ConnStringTEST" connectionString="Data Source=ep-db;Initial Catalog=DSCONTENT;Integrated Security=FALSE;user=zytuid;pwd=testingitout;" />
</connectionStrings>
For detailed information on how to configure and retrieve connection strings in ADO.NET, see this link.
Upvotes: 3
Reputation: 3752
Because ConfigurationManager.ConnectionStrings["ConnStringTEST"]
is returning null.
ConnectionStrings does not reference the appSettings section. It references the connectionStrings section.
Upvotes: 4