为了账号安全,请及时绑定邮箱和手机立即绑定

如何将数据集中表中的列转换为 C# 中以逗号分隔的字符串?

如何将数据集中表中的列转换为 C# 中以逗号分隔的字符串?

C#
动漫人物 2022-12-24 11:50:53
我正在用 c# 制作一个 Windows 窗体应用程序,它必须能够向 Access 数据库表中的所有收件人 ID 发送电子邮件。我已经了解如何发送邮件,甚至成功地进行了测试,但我不了解如何将包含所有电子邮件 ID 的列转换为逗号分隔的字符串。如果这段代码进入表单代码或其他地方,我也有点困惑。我已经尝试使用 foreach 循环,但出于某种原因,它们有错误提示我无法使用它们。我也读过一些 linq 但我不明白在我的程序中什至在哪里实现这样的代码。这是电子邮件发送按钮的代码:private void button1_Click(object sender, EventArgs e){    try    {        MailMessage mail = new MailMessage();        SmtpClient smtpserver = new SmtpClient("smtp.gmail.com");        mail.From = new MailAddress("latinaultimatesite@gmail.com");        mail.To.Add("diomidiov@gmail.com,ninjaboy.abel@gmail.com");        mail.Subject = "Que xopa";        mail.Body = "probando 1 2 3";        smtpserver.Port = 587;        smtpserver.Credentials = new         System.Net.NetworkCredential("latinaultimatesite@gmail.com","proyectofinal69lus");        smtpserver.EnableSsl = true;        smtpserver.Send(mail);        MessageBox.Show("mail Send");    }    catch (Exception ex)    {        MessageBox.Show(ex.ToString());    }}现在我已经实现了向代码中看到的帐户发送邮件,这样就可以了,我需要的是数据库中的帐户采用分隔的逗号字符串格式,以便我可以在此按钮中使用它们。
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

目前还不清楚您为什么不简单地查询数据库以获取此信息。但是,如果您已经有了DataTablethen,正如其他人所指出的那样,您将需要遍历DataTable.Rows集合并从该行中获取电子邮件地址单元格,添加一个逗号,然后对表中的所有行继续执行此操作。AStringBuilder可能有助于构建此逗号分隔的电子邮件字符串。它可能看起来像下面...


private string GetEmailAddress(DataTable dt) {

  StringBuilder sb = new StringBuilder();

  for (int i = 0; i < dt.Rows.Count; i++) {

    sb.Append(dt.Rows[i]["Email"].ToString());

    if (i < dt.Rows.Count - 1)

      sb.Append(",");

  }

  sb.AppendLine();

  return sb.ToString();

}


查看完整回答
反对 回复 2022-12-24
?
茅侃侃

TA贡献1842条经验 获得超21个赞

根据我的理解,您应该尝试拆分该字符串,然后将我想要的每封电子邮件添加到“收件人”子句中。

此处说明了一个示例:-

https://www.c-sharpcorner.com/UploadFile/0c1bb2/sending-email-to-multiple-recipeint-using-Asp-Net/



查看完整回答
反对 回复 2022-12-24
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信