2013-06-02 56 views
0

我正在開發在asp.net和sql服務器的在線拍賣網站。實時拍賣網站 - 拍賣stauts(主動/結束) - 觸發數據庫事件拍賣結束時間到達

如何在截止日期時間到達時立即將拍賣狀態列設置爲非活動(false),並根據此更改的狀態進行一些其他計算。

我試過的一種可能的解決方案是使用基於ClosingTime的狀態上的計算列,但只有在我們對數據庫執行DDL操作時才起作用,而不是自動執行。

另一個可能的解決方案是編寫一個Windows服務應用程序,它會在頻繁的時間間隔(每5分鐘左右)檢查一次數據庫,並完成這項工作,但這不會是一個實時解決方案,可能會導致更多數據庫開銷。請告知解決這個問題。

回答

0

您不需要存儲布爾值來指示狀態。相反,您只需存儲到期時間/日期,並將其與NOW()進行比較,以確定拍賣是否仍處於活動狀態。

+0

沒關係。對不起,如果我不能正確地框架我的問題。有什麼辦法可以讓我們實時確定所有封閉式拍賣(使用NOW())並觸發一個觸發器或一個SP來完成其他工作..我的意思是更新其他表格,通知贏家等等。我的問題是實時計算。思考? – Gaurav

+0

兩個想法來我的。第一種方法更可靠,但可能不適合您(取決於您的站點提供者):創建一個cron任務,每隔x分鐘尋找一次該條件。另一種方法是將支票與每次訪問時運行的代碼綁定(首先檢查自上次檢查之後是否足夠長,如果是,請檢查您感興趣的條件)。 – mah