txtMessage.Text=Session["id"].ToString();=======>if(Session["id"]!=null)
txtMessage.Text=Session["id"].ToString();

解决方案 »

  1.   

    Session["id"]为null 或 web.config文件中没有配置["sqlConn"],看看在哪行报错
      

  2.   

    private void btnUpdate_Click(object sender, System.EventArgs e)
    {
     string strConn = ConfigurationSettings.AppSettings["sqlConn"];
     string StrCmd="UPDATE Member SET Pass = @Pass WHERE ID = '"+Session["id"].ToString()+"'";       
     SqlConnection conn = new SqlConnection(strConn);
     SqlDataAdapter MyCmd=new SqlDataAdapter(StrCmd,conn);
     MyCmd.UpdateCommand.Parameters.Add(new SqlParameter("@Pass", System.Data.SqlDbType.VarChar, 50, "Pass"));
     MyCmd.UpdateCommand.Parameters["@Pass"].Value="Yes";
     conn.Open();
     MyCmd.UpdateCommand.ExecuteNonQuery();
     conn.Close();
    }
    我运行到MyCmd.UpdateCommand.Parameters.Add(new SqlParameter("@Pass", System.Data.SqlDbType.VarChar, 50, "Pass"))时报错,“未将对象引用设置到对象的实例。“ 
    请问我的语法有错误吗?
      

  3.   

    SqlParameter p1 =MyCmd.UpdateCommand.Parameters.Add(new SqlParameter("@Pass", System.Data.SqlDbType.VarChar, 50, "Pass"));
      

  4.   

    我的代码如下:
    private void btnYes_Click(object sender, System.EventArgs e)
    {
    string StrCmd="UPDATE Member SET Pass = @Pass WHERE ID = '"+Session["id"].ToString()+"'";
    SqlConnection conn = new SqlConnection(strConn);
    SqlDataAdapter MyCmd=new SqlDataAdapter(StrCmd,conn);
    MyCmd.UpdateCommand.Parameters.Add(new SqlParameter("@Pass", SqlDbType.VarChar));
    MyCmd.UpdateCommand.Parameters["@Pass"].Value="Yes";
    conn.Open();
    MyCmd.UpdateCommand.ExecuteNonQuery();
    我每次运行到MyCmd.UpdateCommand.Parameters.Add(new SqlParameter("@Pass", System.Data.SqlDbType.VarChar, 50, "Pass"))时都报错,“未将对象引用设置到对象的实例。“ 谁能帮我看看到底那里出错了??语法有错还是别的原因。
      

  5.   

    你并没有用SqlCommandBuilder来为SqlDataAdapter生成UpdateCommand,所以上面的MyCmd.UpdateCommand是空值,这样改一下:SqlDataAdapter MyCmd=new SqlDataAdapter(StrCmd,conn);
    MyCmd.UpdateCommand.Parameters.Add(new SqlParameter("@Pass", SqlDbType.VarChar));
    MyCmd.UpdateCommand.Parameters["@Pass"].Value="Yes";
    conn.Open();
    MyCmd.UpdateCommand.ExecuteNonQuery();==================>SqlCommand MyCmd=new SqlCommand(StrCmd,conn);
    MyCmd.Parameters.Add(new SqlParameter("@Pass", SqlDbType.VarChar));
    MyCmd.Parameters["@Pass"].Value="Yes";
    conn.Open();
    MyCmd.ExecuteNonQuery();