如何验证表的MAX值?

时间:2014-02-11 12:13:25

标签: c# mysql

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;
}

现在我的问题是什么,当表的事件为空时,它会返回一些无效的值,这甚至都不为空...我怎么能为它编写正常的验证?

2 个答案:

答案 0 :(得分:2)

值可能是 DBNull.Value ,你可以检查一下,但开箱即用,你可以调整查询(假设是sql server):SELECT isnull(MAX([Date]),getdate()) FROM [Events] 这样,返回的值始终是有效的日期时间,并且可以省略检查

答案 1 :(得分:0)

       SqlCommand cmd=new SqlCommand("SELECT MAX([Date]) FROM [Events]",ConnectionObject);

int _value = cmd.ExecuteScalar();

而(_value!= 0)

{

//做点什么

_value--; }