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;
}
现在我的问题是什么,当表的事件为空时,它会返回一些无效的值,这甚至都不为空...我怎么能为它编写正常的验证?
答案 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--; }