我一直在使用一些与以下非常相似的代码来填充 gridview 控件:
using(SqlDataAdapter sqlDataAdapter =
new SqlDataAdapter("SELECT * FROM Table1",
"Server=.\\SQLEXPRESS; Integrated Security=SSPI; Database=SampleDb"))
{
using (DataTable dataTable = new DataTable())
{
sqlDataAdapter.Fill(dataTable);
this.dataGridView1.DataSource = dataTable;
}
}
我现在想采用该 GridView 并将结果通过电子邮件发送到 html 表格中。我相信我可以通过使用 gridview 作为中间人来解决这个问题(将结果添加到 gridview 然后逐个单元格地绘制 html 表)但是我想知道是否有办法获取 SQL 查询的结果并将其绘制成 html准备好发送电子邮件了吗?
总结:我怎样才能查询数据库并以我可以用它们绘制 HTML 表格的方式返回结果?
请您参考如下方法:
没有人回答,所以我试一试。
DataTable 似乎有一个 Rows属性是数据表中所有行的集合。您需要做的就是遍历行并打印 html <tr>标签。然后可以使用 <td> 为每一列使用内部循环。标签。我对 C# 的经验很少,但它应该看起来像这样:
emit("<table>\n");
foreach(DataRow row in dataTable.Rows)
{
emit("<tr>");
foreach(DataColumn column in dataTable.Columns)
{
emit("<td>" + row[column] + "</td>");
}
emit("</tr>\n"); // add a newline for readability
}
emit("</table>\n");
如果您愿意,emit() 函数可以只连接一个字符串,然后您可以以该字符串作为正文作为 html 格式发送电子邮件。
