日期:2014-05-18  浏览次数:20629 次

在sql中怎么嵌入html代码
在sql中怎么嵌入html代码


尊敬的先生/女士:
你好!
这是你本月的旷工信息汇总,请查阅以下旷工信息汇总如下: 
*****************************************************************************
姓名: *** 工号 : **** 日期 : 2012-02-28 班次:常白班 旷工:8.00小时
*****************************************************************************



  此致敬礼


  ***


  2012-02-28


想把中间那部分旷工信息设置表格样式,用sql怎么写啊?

------解决方案--------------------
这个用web程序直接读表格的数据方便很多吧
------解决方案--------------------
没有。
------解决方案--------------------
呵呵,这种问题不要用SQL处理了,邮件格式自己指定个字符串就行了,拼一拼,html是嵌入不了的。
------解决方案--------------------
SQL code
DECLARE @tableHTML  NVARCHAR(MAX) ;

SET @tableHTML =
    N'<H1>Work Order Report</H1>' +
    N'<table border="1">' +
    N'<tr><th>Work Order ID</th><th>Product ID</th>' +
    N'<th>Name</th><th>Order Qty</th><th>Due Date</th>' +
    N'<th>Expected Revenue</th></tr>' +
    CAST ( ( SELECT td = wo.WorkOrderID,       '',
                    td = p.ProductID, '',
                    td = p.Name, '',
                    td = wo.OrderQty, '',
                    td = wo.DueDate, '',
                    td = (p.ListPrice - p.StandardCost) * wo.OrderQty
              FROM AdventureWorks.Production.WorkOrder as wo
              JOIN AdventureWorks.Production.Product AS p
              ON wo.ProductID = p.ProductID
              WHERE DueDate > '2004-04-30'
                AND DATEDIFF(dd, '2004-04-30', DueDate) < 2 
              ORDER BY DueDate ASC,
                       (p.ListPrice - p.StandardCost) * wo.OrderQty DESC
              FOR XML PATH('tr'), TYPE 
    ) AS NVARCHAR(MAX) ) +
    N'</table>' ;

EXEC msdb.dbo.sp_send_dbmail @recipients='danw@Adventure-Works.com',
    @subject = 'Work Order List',
    @body = @tableHTML,
    @body_format = 'HTML' ;