我得到的代码可能没有返回任何结果 - 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();
我得到这个异常:
NullReferenceException: Object reference not set to an instance of an object.
有人可以帮我解决这个问题吗?
最佳答案
试试这个:
result = (sqlcom.ExecuteScalar() ?? "").ToString();
如果它返回null
,结果将是一个空字符串。您可以通过 if 语句处理这种情况,并向用户通知一些消息,例如:
object r = sqlcom.ExecuteScalar();
if(r != null) result = r.ToString();
else {
//code to handle the null case here...
}
关于c# - 未找到结果时处理 ExecuteScalar 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20295685/