Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 结果为空的查询的If条件_C#_Sql_Ado.net - Fatal编程技术网

C# 结果为空的查询的If条件

C# 结果为空的查询的If条件,c#,sql,ado.net,C#,Sql,Ado.net,我编写了以下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.AddW

我编写了以下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 (cmd2.ExecuteScalar()=="Null")
{....}

当我的查询没有答案时,如何添加if条件?

删除对cmd2.ExecuteNonQuery的调用,然后添加如下内容:

object maxCode = cmd2.ExecuteScalar();
if (maxCode == null)
{
    // Null
}
else
{
    // do something with maxCode, you probably want to cast - e.g. (int)maxCode
}

您可以使用这样的读卡器:

object maxCode = cmd2.ExecuteScalar();
if (maxCode == null)
{
    // Null
}
else
{
    // do something with maxCode, you probably want to cast - e.g. (int)maxCode
}
这假设代码的类型是整数,因此根据需要进行更改

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
}
根据:

如果未找到结果集中第一行的第一列,则返回空引用(在Visual Basic中为Nothing)。如果数据库中的值为null,则查询返回DBNull.value

所以,你可以写:

if (cmd2.ExecuteScalar() == null)
{....}
或者,您可以使用
ExecuteReader
,然后检查是否返回了读卡器