對於有經驗的開發人員來說,這可能是非常簡單的場景,但作爲一名初學者,我一直在這方面呆了很長時間。我正在asp.net中創建一個用戶可以購買軟件包的網站。這些包有一些與它們相關的有效期限(例如購買後2個月,6個月等)。如何在達到日期後過期SQL Server中的特定行?
問題是如何確切地在相同的日期和時間,根據購買日期計算每個包裝的到期日。如何做這件事?
我正在使用SQL Server express edition 2008和asp.net 4.0。
對於有經驗的開發人員來說,這可能是非常簡單的場景,但作爲一名初學者,我一直在這方面呆了很長時間。我正在asp.net中創建一個用戶可以購買軟件包的網站。這些包有一些與它們相關的有效期限(例如購買後2個月,6個月等)。如何在達到日期後過期SQL Server中的特定行?
問題是如何確切地在相同的日期和時間,根據購買日期計算每個包裝的到期日。如何做這件事?
我正在使用SQL Server express edition 2008和asp.net 4.0。
取決於你的意思是過期了一下 - 你要刪除的數據,標誌備案,或者只是隱藏數據一個來自用戶的屏幕。
無論使用哪種方式,您都需要將到期日期作爲列添加到表(?包)中,並將計算的到期日保存到此列中。
然後,您有多種選擇,如:
CURRENT_TIMESTAMP is > ExpiryDate
(SQL Express版本沒有SQL代理,所以你需要寫例如一個Windows服務或鉤入Windows任務計劃程序來執行此操作)。DateTime.Now >= ExpiryDate
),然後鎖定用戶從UI中取出/隱藏軟件包。可能是windows服務可以在這種情況下工作。我會先嚐試這個選項。 – vivek
「expire」是什麼意思?從數據庫中刪除?將某個字段標記爲「已過期」? – robert
閱讀關於觸發器 –
@WaqarJanjua它不是一個觸發器,如果它在n個月後。 – Meryovi