2014-01-29 123 views
-1

table from which i am taking date and time![][1]獲得日期和時間從數據庫中,並有報警

我有一個名爲GetAlarm()方法中,我使用的Form_Load其中。我的警報沒有升起。例如,今天的日期是2014年1月29日,目前的時間是早上8點30分,而在數據庫中,我有29日1點在上午8點35分發出警報,然後是上午8點45分發生第二次鬧鈴,然後是上午8點50分發生第三鬧鈴,那麼當我在上午8:30運行應用程序時,則在上午8點35分會有鬧鐘,然後如果我關閉鬧鐘,則可以打盹或關閉鬧鐘,然後應該接下來的8點45分鬧鐘,運行應用程序。

private void GetAlarm() 
     { 
      if (Collection.SelectQuery("SELECT CONVERT(varchar, Date, 111) FROM Mst_Event WHERE (CONVERT(varchar, Date, 111) = CONVERT(varchar, GETDATE(), 111))") == true) 
      { 
       ListBox lst = new ListBox(); 
       Collection.FillList(lst, "SELECT time FROM Mst_Event WHERE (CONVERT(varchar, Date, 111) = CONVERT(varchar, GETDATE(), 111))"); 
       for (int i = 0; i < lst.Items.Count; i++) 
       {      
        string AmPm = Collection.getData("SELECT AmPm FROM Mst_Event WHERE (CONVERT(varchar, Date, 111) = CONVERT(varchar, GETDATE(), 111)) and time='" + lst.Items[i].ToString() + "'"); 
        var datenow = DateTime.Now; 
        DateTime dt = new DateTime(); 
        if (AmPm.ToUpper() == "AM") 
        { 
         dt = new DateTime(datenow.Year, datenow.Month, datenow.Day, Convert.ToInt32(lst.Items[i].ToString().Substring(0, 2)), Convert.ToInt32(lst.Items[i].ToString().Substring(3, 2)), Convert.ToInt32(lst.Items[i].ToString().Substring(6, 2))); 
        } 
        else 
        { 
         dt = new DateTime(datenow.Year, datenow.Month, datenow.Day, Convert.ToInt32(lst.Items[i].ToString().Substring(0, 2)) + 12, Convert.ToInt32(lst.Items[i].ToString().Substring(3, 2)), Convert.ToInt32(lst.Items[i].ToString().Substring(6, 2))); 
        } 
        if (dt > DateTime.Now) 
        { 
         AlarmTime = Convert.ToInt32(lst.Items[i].ToString().Substring(0, 2)) + ":" + Convert.ToInt32(lst.Items[i].ToString().Substring(3, 2)) + " " + AmPm; 
         i = lst.Items.Count; 
        } 
       } 
      } 
      this.Text = "Alarm Clock - Set: " + AlarmTime; 
     } 

請幫助我我正在嘗試此解決方案超過兩週。

+0

「我的鬧鈴沒有升起」 - 這是什麼意思? 'lst'中的項目的值是什麼? 如果你必須幸運地在設置鬧鐘時間的時刻「運行」winForms應用程序,這有什麼意義?可能有更好的方法來完成你想要做的事情。 –

+0

我從當天的數據庫中獲取它的日期和時間後,我可以捕獲最新的鬧鐘時間,並且所有今天的鬧鐘將在列表中 – 3333

+0

我有鬧鐘正在採取我在文本框中輸入時間並將其與當前時間匹配,然後出現鬧鐘,但我希望鬧鐘應該從數據庫 – 3333

回答

0

我已經使用一個定時器,並在其蜱事件我已調用此方法GetAlarm(),使得

if (AlarmTime == "") 
     {    
     GetAlarm(); 
     } 

和我已經使用一個按鈕,以便當警報被升高該按鈕將被示出和當用戶點擊它時,當前鬧鐘將關閉,並且由於定時器,它將檢查下一個鬧鐘。

相關問題