C# 结果为空的查询的If条件
我编写了以下SQL查询: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
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
,然后检查是否返回了读卡器