我有一个包含大量电子邮件地址的数据库,我需要将它们格式化为一个字符串,如下所示:
toaddress = "name@gmail.com,name1@gmail.com,name2@gmail.com,name3@gmail.com"
Run Code Online (Sandbox Code Playgroud)
当前代码:
string toaddress = "";
using (SqlConnection conn = new SqlConnection(""))
{
SqlCommand cmd = new SqlCommand("SELECT email FROM dbo.Members", conn);
conn.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
toaddress = rdr["email"].ToString();
}
rdr.Close();
}
Run Code Online (Sandbox Code Playgroud)
最简单的方法是使用StringBuilder之类的
StringBuilder sb = new StringBuilder();
string toaddress = null;
using (SqlConnection conn = new SqlConnection(""))
{
SqlCommand cmd = new SqlCommand("SELECT email FROM dbo.Members", conn);
conn.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
sb.Append(rdr["email"].ToString() + ",");
}
rdr.Close();
}
toaddress = sb.ToString().TrimEnd(',');
Run Code Online (Sandbox Code Playgroud)
记得Trim ,从字符串末尾使用String.TrimEnd
如果你using在你Command和DataReader对象上使用语句会更好,例如:
using (SqlConnection conn = new SqlConnection(""))
{
using (SqlCommand cmd = new SqlCommand("SELECT email FROM dbo.Members", conn))
{
conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
sb.Append(rdr["email"].ToString() + ",");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |