//判断项目是否已经完成(循环判断,与现在真实时间对比)
DataSetallEndTime = ProjectHelper.GetAllEndAndCheckTime();
stringcurrtime = DateTime.Now.ToString("yyyy-MM-dd");
DateTimedateCurr = Convert.ToDateTime(currtime);
for(inti = 0; i < allEndTime.Tables[0].Rows.Count; i++)
{
DateTimeendtime = Convert.ToDateTime(allEndTime.Tables[0].Rows[i]["proendtime"].ToString());
if(DateTime.Compare(dateCurr, endtime) > 0)
{
intrunn =1;
ProjectHelper.UpdateDbRunningByEndtime(allEndTime.Tables[0].Rows[i]["probianhao"].ToString(), runn);
}
}
学习两点:
一是使用DataSet、DataTable、DataRow三者对数据库操作,而且使用for循环可以依次取出数据库中的数据,并进行相应判断;
注意的是,当要进行时间表示时,一定在数据库中创建使用datetime类型,因为当使用nvarchar类型的时候,是不方便进行DateTime转化的,当转化成DateTime类型后,此时就可以使用DateTime.Compare()方法进行比较,该方法返回的是int类型,如上面if (DateTime.Compare(dateCurr, endtime) > 0)这句话的意思就是endtime>dateCurr,也就是在当前时间的后面。