1

我正在开发类似 gmail 的邮件应用程序。我已经创建了注册登录并创建了邮件并显示了收件箱中收到的邮件。要显示收件箱,我遵循以下过程。首先,我创建了一个名为 getdata 的数据库,并将所有用户的邮件存储在该数据库中。当用户登录他的帐户时,我使用以下代码显示来自整个数据库的邮件

public static DataSet Get_Data_id(string mailid, int Sno)
{
    DataSet ds = new DataSet();
    SqlCommand cmd = new SqlCommand();
    cmd.CommandText = "select * from AddData where Sno='" + Sno + "' and EmailID='" + mailid + "'";
    ds = SQLHelper.ExecuteAdapter(cmd, CommandType.Text, cmd.CommandText);
    return ds;
} 

我给每个用户一个序列号。使用序列号和他的邮件 ID,我填写了他/她的收件箱。现在问题是我需要将这些邮件移动到单独的文件夹中,我为收件箱中的每封邮件都有一个复选框,然后单击该下拉窗口,就像在 gmail 中一样。但我怀疑我是否需要将所有邮件移动到单独的数据库中......?在这种情况下,我需要大量数据库,例如一个文件夹一个数据库。还有另一个问题,例如每个用户都有不同的文件夹名称。如何克服它。我应该如何设计数据库以及如何将邮件移动到每个用户的单独文件夹中?

4

2 回答 2

3

如果你想复制gmail,不要制作文件夹,制作标签。

创建一个包含每个用户标签的表(tagid、userid、tagname)

创建一个包含电子邮件和标签(emailid、tagid)之间关系的表

这样,一封电子邮件可以有多个标签,一个标签可以包含多个电子邮件。

也可以按用户检索所有标签。

于 2013-08-13T11:55:54.390 回答
1

你需要动态创建数据库。这被称为“动态数据库”检查这篇文章它可能会有所帮助:

动态数据库模式

于 2013-08-13T11:04:55.007 回答