簡體   English   中英

SQL查詢HTML表以獲取電子郵件

[英]SQL query to HTML table for e-mail

我一直在使用一些與以下代碼非常相似的代碼來填充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;
    }
}

現在,我想使用該網格視圖,並將結果通過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格式發送電子郵件。

您可以使用RenderControl方法直接在后台代碼上從gridview渲染HTML代碼,並使用StringBuilder輸出。 例:

StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.RenderControl(hw);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM