您好我正在尝试这样做...如果数据返回null则执行某些操作...如果不执行其他操作...
这是我为使这项工作而编写的代码,但它不起作用?
SqlConnection sqlCon1 = new SqlConnection("PRIVATE");
SqlCommand sqlCmd1 = new SqlCommand();
sqlCmd1.CommandText = "Select AccStatus From PDMStatus WHERE Data = 'ToBeWebEnabled8'";
sqlCmd1.Connection = sqlCon1;
sqlCon1.Open();
if (sqlCmd1.ExecuteScalar() == null)
{
Button1.Enabled = true;
}
else
{
Button1.Enabled = false;
}
sqlCon1.Close();
请帮助,谢谢。
答案 0 :(得分:8)
" NULL
"因为它存在于DBMS中而不是由C#或.NET中的null
表示,而是使用单例值System.DBNull.Value
。
你想要这个:
this.Button1.Enabled = sqlCmd1.ExecuteScalar() == DBNull.Value;
答案 1 :(得分:0)
您需要执行阅读器,然后才能使用HasRows
属性:
using(var sqlCon1 = new SqlConnection("PRIVATE"))
using (var sqlCmd1 = new SqlCommand())
{
sqlCmd1.CommandText = "Select AccStatus From PDMStatus WHERE Data = 'ToBeWebEnabled8'";
sqlCmd1.Connection = sqlCon1;
sqlCon1.Open();
using (var reader = sqlCmd1.ExecuteReader())
Button1.Enabled = reader.HasRows;
}
我已使用using
语句确保所有内容都被删除/关闭。