我在數據庫中有一個待辦事項列表。每個物品都有一個todo物品,並有時間完成。我想要做的是讓我的C#應用程序循環遍歷項目,並檢查項目是否應該在一小時前在頂部完成。此外,應用程序還必須檢查項目是否應在一小時內完成。如果這兩個選項中的任何一個都是真的,則該作業必須向用戶顯示。檢查時間在兩次之間
我該如何做這項工作?我想到了下面的方式,但是這會顯示應該在一小時前完成的任何項目,或更多。我想要已經完成的項目,最多1小時前完成。
foreach (DataRow dr in dsValue.Tables[0].Rows)
{
DateTime dt = Convert.ToDateTime(dr["tijd"]);
if (dt > DateTime.Now.AddHours(-1) || dt < DateTime.Now.AddHours(1))
{
MessageBox.Show(dr["opdracht"].ToString());
}
}
一個快速優化,你不想在循環中每次計算DateTime.Now.Add(xxx) – cristobalito 2011-02-16 13:02:49
爲什麼不改變你的SQL使用`BETWEEN`子句? – 2011-02-16 13:03:40