handing ExecuteScalar returning null when no results are found

c#, sql, sql-server

Solution

Try this:

result = (sqlcom.ExecuteScalar() ?? "").ToString();

If it returns `null`, the result will be an empty string. You can handle that case by an if-statement and notify some message to the user, such as like this:

object r = sqlcom.ExecuteScalar();  
if(r != null) result = r.ToString();
else {
  //code to handle the null case here...
}

Problem

I have got this code that might return no results found - null ``` String result string searchUby = "SELECT text FROM rooms WHERE year=@year AND event=@eventAND text=@text AND z is NULL"; SqlCommand sqlcom = new SqlCommand(searchUby, conn); sqlcom.Parameters.AddWithValue("@event",event.Text); sqlcom.Parameters.AddWithValue("@text", cb_room.SelectedItem); sqlcom.Parameters.AddWithValue("@year",klientClass.Year()); conn.Open(); result = sqlcom.ExecuteScalar().ToString(); // on this line ex occurs conn.Close(); ``` I get this exception: ``` NullReferenceException: Object reference not set to an instance of an object. ``` May someone help me with solving this?

Original source

Related problems