Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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# 如何验证表的最大值?_C#_Mysql - Fatal编程技术网

C# 如何验证表的最大值?

C# 如何验证表的最大值?,c#,mysql,C#,Mysql,现在我的问题是,当表Events为空时,它会返回一些无效值,甚至不是null……我如何才能为它编写一个正常的验证?该值可能是DBNull.value,您可以检查它,但您可以调整查询(假设sql server):选择isnull(MAX([Date]),getdate())从[事件] 这样,返回的值总是有效的datetime,可以省略检查 query = "SELECT MAX([Date]) FROM [Events]"; DataTable dt = execute(query); DateT

现在我的问题是,当表Events为空时,它会返回一些无效值,甚至不是null……我如何才能为它编写一个正常的验证?

该值可能是DBNull.value,您可以检查它,但您可以调整查询(假设sql server):
选择isnull(MAX([Date]),getdate())从[事件]
这样,返回的值总是有效的datetime,可以省略检查

query = "SELECT MAX([Date]) FROM [Events]";
DataTable dt = execute(query);
DateTime date;

if (dt!= null && dt.Rows.Count != 0)
{
    date = (DateTime) dt.Rows[0][0];
}
else
{
    date = DateTime.Now;
}
int _value=cmd.ExecuteScalar()

而(_值!=0)

{

//做点什么

_价值--;
}

您需要数据表的具体原因是什么?ExecuteScalar将更简单/更高效。如果表为空,则可以使用类似于query=“SELECT isnull(MAX([Date],curdate())FROM[Events]”的内容
       SqlCommand cmd=new SqlCommand("SELECT MAX([Date]) FROM [Events]",ConnectionObject);