5">
Saya mempunyai kod berikut untuk menghantar pemberitahuan e-mel kepada penerima dan ia berfungsi dengan baik. Data sumber datang daripada pertanyaan SQL Server, yang saya panggil sementara jadual "#Temp_Warning". Jika nilai T.FORMATTED_ENTRY kurang daripada 10, penerima saya ingin nilai itu diserlahkan dengan warna merah dalam e-mel. Saya telah mencuba banyak, tetapi nilai kurang daripada 10 secara tidak dijangka menunjukkan keseluruhan kod
Ini adalah sebahagian daripada kod untuk prosedur disimpan SQL Server
IF (PILIH COUNT(*) DARI #Temp_Warning) > BERMULA --Formatkan kandungan e-mel dalam HTML ISYTIHKAN @tableHTML NVARCHAR(MAX); SET @tableHTML = N'' + N' ' + CAST(( PILIH td = T.REPORTED_NAME,'', td = KES BILA T.FORMATTED_ENTRY <10 THEN'' + T.FORMATTED_ENTRY + N'' ELSE T.FORMATTED_ENTRY END, '' DARI #Temp_Warning T PESANAN OLEH T.REPORTED_NAME UNTUK LALUAN XML('tr'), TYPE ) SEBAGAI NVARCHAR(MAX)) + TAMATNama Ujian ' + N'Hasil diformat ' + N'
Sila cuba penyelesaian berikut.
Ia menggunakan fungsi SQL Server XQuery.
Selain itu, ia menggunakan CSS untuk menggayakan output XHTML.
SQL
-- DDL and sample data population, start DECLARE @tbl TABLE (test VARCHAR(100) PRIMARY KEY, result INT); INSERT @tbl (test, result) VALUES ('Bu', 57), ('Po', 5), ('Zu', 9); -- DDL and sample data population, end DECLARE @xhtmlBody XML , @body NVARCHAR(MAX) , @tableCaption VARCHAR(30) = 'Tests results report'; SET @xhtmlBody = (SELECT ( SELECT * FROM @tbl FOR XML PATH('row'), TYPE, ROOT('root')) .query(' (: including embedded CSS styling :)

{sql:variable("@tableCaption")}
Output XHTML
Tests results report