空结果查询条件
本文关键字:条件 查询 结果 | 更新日期: 2023-09-27 18:14:26
我写了这个SQL查询:
SqlCommand cmd2 = new SqlCommand();
cmd2.Connection = new SqlConnection(Class1.CnnStr);
cmd2.CommandText = "SELECT MAX(Code) FROM Table WHERE Number=@Number ";
cmd2.Connection.Open();
cmd2.Parameters.AddWithValue("@Number", Hidden_txt.Text);
cmd2.ExecuteNonQuery();
,我想添加一些if条件,如:
if (cmd2.ExecuteScalar()=="Null")
{....}
当我的查询没有答案时,我如何添加if条件?
删除对cmd2的调用。执行tenonquery,然后添加如下内容:
object maxCode = cmd2.ExecuteScalar();
if (maxCode == null)
{
// Null
}
else
{
// do something with maxCode, you probably want to cast - e.g. (int)maxCode
}
您可以这样使用阅读器:
这里假设Code的类型是整数,所以根据需要修改
SqlDataReader reader = cmd2.ExecuteReader;
int code = 0;
if (reader.Read) {
//whatever if it has a result
code = reader.GetInt32(0);
} else {
//Whatever if it finds nothing
}
根据MSDN:
如果没有找到结果集中第一行的第一列,则返回空引用(在Visual Basic中为Nothing)。如果数据库中的值为空,则查询返回DBNull.Value.
所以,你可以直接写:
if (cmd2.ExecuteScalar() == null)
{....}
或者,您可以使用ExecuteReader
,然后检查是否返回reader HasRows.