2011-02-07 139 views
2

我需要一些關於如何爲網站開發收件箱,發送,草稿功能的提示。這是爲了讓用戶可以相互溝通。 我有3個表格 - 收件箱,發送,草稿。 因此,每個表分別填充。ASP.NET web應用程序

我應該爲此共有4個表。 Message_Inbox,收件箱,草稿,已發送。 如果用戶單擊「收件箱」或「已發送」鏈接,則應在右側顯示收件箱或從Message_Inbox數據庫表中發送的具有適當內容的表格。什麼可能是從message_Inbox表中取得的內容,

我是asp.net的初學者。所以我的問題可能太天真了。我也將盡我的研究

感謝您的幫助

回答

3

這是更多地與數據庫設計比asp.net具體而言,如您使用可能是一個Windows窗體應用程序的數據庫結構,Silverlight應用程序或確實是一切!

我的這種方法是將有一個表稱爲 「消息」,其具有以下結構:

的MessageId INT NOT NULL IDENTITY
FromUserId INT NOT NULL(FK到用戶表)
ToUserId INT NOT NULL(FK到用戶表)
IsDraft TINYINT
標題NVARCHAR(...)
消息體NVARCHAR(...)

這樣,您可以將所有郵件存儲在一張表中,唯一的區別是它們是否爲草稿,即它們是否對預期收件人(ToUserId)不可見。

因此,要檢索收件箱你會使用SQL類似

SELECT * FROM Message WHERE [email protected] WHERE IsDraft=0` 

要檢索某人的郵件草稿像

SELECT * FROM Message WHERE [email protected] WHERE IsDraft=1 

A的用戶通過

SELECT * FROM Message WHERE [email protected] WHERE IsDraft=0 
發送的郵件

如果您想轉移到「多個收件人」模式,您可以使用Message_Recipient表輕鬆替換ToUserId列,該表包含一個或多個包含MessageIdToUserId對的記錄。

+0

感謝您的幫助。我知道了 – user575219 2011-02-07 21:03:05