2011-02-07 140 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