ConnectionString属性尚未初始化

时间:2010-08-26 13:54:13

标签: asp.net

我的连接字符串放在web.config中,如下所示。

<connectionStrings>
   <add name="empcon" connectionString="Persist Security Info=False;User ID=sa;Password=abc;Initial Catalog=db5pmto8pm;Data Source=SOWMYA-3BBF60D0\SOWMYA" />
</connectionStrings>

并且程序代码是......

public partial class empoperations : System.Web.UI.Page
{

    string constr = null;

    protected void Page_Load(object sender, EventArgs e)

    {
        ConfigurationManager.ConnectionStrings["empcon"].ToString();
         if (!this.IsPostBack)
        {
            fillemps();
        }
    }
    public void fillemps()
    {
        dlstemps.Items.Clear();
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["empcon"].ConnectionString);
        con.ConnectionString = constr;
        SqlCommand cmd = new SqlCommand();
        cmd.CommandText = "select * from emp";
        cmd.Connection = con;
        SqlDataReader reader;
        try
        {
            con.Open();
            reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                ListItem lt = new ListItem();
                lt.Text = reader["ename"].ToString();
                lt.Value = reader["empno"].ToString();
                dlstemps.Items.Add(lt);
            }
            reader.Close();
        }
        catch (Exception er)
        {
            lblerror.Text = er.Message;
        }
        finally
        {
            con.Close();
        }        

我是编程的全新......

我可以在标签控件中使用er.message运行此应用程序,因为“连接字符串属性尚未初始化”

我需要从数据库中的emp表中检索员工姓名列表到下拉列表中并将其显示给用户......

任何人都可以修理它......

2 个答案:

答案 0 :(得分:4)

您在哪里初始化constr变量?看起来你可以离开那条线。

另外:只需使用using

using(SqlConnection con = new SqlConnection(
    ConfigurationManager.ConnectionStrings["empcon"].ConnectionString)
{
    using(SqlCommand cmd = new SqlCommand())
    {
       cmd.Connection = con;
       //Rest of your code here
    }
}

附注:不要使用Select * From。列出您的专栏:Select empname, empno From...

答案 1 :(得分:1)

您没有将ConfigurationManager.ConnectionStrings["empcon"].ToString();分配给string constr

protected void Page_Load(object sender, EventArgs e)
{
    constr = ConfigurationManager.ConnectionStrings["empcon"].ToString();
    ...

可能会暂时解决您的问题。