【问题标题】:how to move mails into separate folders如何将邮件移动到单独的文件夹中
【发布时间】:2013-08-14 23:10:47
【问题描述】:

我正在开发类似 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 中一样。但我怀疑我是否需要将所有邮件移动到单独的数据库中......?在这种情况下,我需要大量数据库,例如一个文件夹一个数据库。还有另一个问题,例如每个用户都有不同的文件夹名称。如何克服它。我应该如何设计数据库以及如何将邮件移动到每个用户的单独文件夹中?

【问题讨论】:

  • @Erno de Weerd 的答案是您应该在这里遵循的答案,动态数据库方法远远超出了您在此处尝试实现的限制。

标签: c# asp.net


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

    Dynamic Database Schema

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-13
      • 2015-12-02
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      相关资源
      最近更新 更多