2016-05-09 10 views
0

Ich habe ein Problem, auf die Sitzungsvariable zugreifen und in der SQL-Abfrage platzieren. Ich habe den Fehler "NullReferenceException" erhalten. Wie man es repariert?
myCodesZugang und Sitzungsvariable innerhalb der SQL-Abfrage (NullReferenceException) Fehler

public partial class MyConferences : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if(!IsPostBack) 
     { 
      BindGrid(); 
     } 
    } 

    private void BindGrid() 
    { 
     Object conference = Session["myConf"]; 
     string constr = ConfigurationManager.ConnectionStrings[0].ConnectionString; 
     using(SqlConnection con = new SqlConnection(constr)) 
     { 
      string query = "SELECT conferenceName, conferenceDate, conferencePlace, submissionDueDate, category FROM Conferences WHERE email = @email)"; 

      using(SqlCommand cmd = new SqlCommand(query)) 
      { 

       cmd.Connection = con; 
       cmd.Parameters.AddWithValue("@email", conference.ToString()); 
       con.Open(); 
       GridView1.DataSource = cmd.ExecuteReader(); 
       GridView1.DataBind(); 
       con.Close(); 
       cmd.ExecuteNonQuery(); 
      } 
     }   
    } 
} 

Fehler enter image description here

+0

Das Konferenzobjekt, das Sie aus dem Sitzungswörterbuch abgerufen haben, ist null und so y Wenn Sie versuchen, ToString() für dieses Objekt aufzurufen, erhalten Sie eine NullReferenceException. Sie müssen überprüfen, ob die Konferenz NULL ist, um den Aufruf von Methoden oder Eigenschaften zu vermeiden, die zu diesem Fehler führen. – pmcilreavy

Antwort

2

Auf den Punkt gebracht, Session["myConf"] ist ein NULL Wert, also Sie dagegen schützen, müssen durch eine Nullprüfung auf dieser Sitzung Wert ausführt:

private void BindGrid() 
{ 
    if (Session["myConf"] == null) 
    { 
     return; // Or whatever you want to do. 
    } 

    Object conference = Session["myConf"]; 
    //..... 
} 
Verwandte Themen