Hallo,
aus der T-SQL_Referenz habe ich das Beispiel zu "sp_send_dbmail" zum Erstellen einer E-Mai im HTML-Format übernommen und für meine Zwecke angepasst (Code siehe unten). Funktioniert prima, aber: Eine Tabellenspalte enthält Text mit Zeilenumbrüchen (CR+LF), die im HTML-Output fehlen. Wie bekomme ich die Zeilenumbrüche in den HTML-Code hinen? Ein REPLACE(TEXT, CAHR(13)+CHAR(10), '<br>') funktioniert nicht, das "<br>" wird im Text angezeigt, aber nicht ausgeführt.
Mein Code ist der:
[Highlight=sql]
DECLARE @tableHTML NVARCHAR(MAX);
SET @tableHTML =
N'<H1>Tagesbericht Servicescheine</H1>' +
N'<table border="1">' +
N'<tr><th>Kunde</th><th>Beleg</th><th>Text</th><th>Stunden</th>' +
CAST ( ( SELECT td = KUNDEN.Anzeigename, '',
td = BELEG.Belegnummer, '',
td = TEXT.TEXT, '',
td = CAST(BELEGP.Menge AS DECIMAL(8,2))
FROM (... unwichtig hier ...)
WHERE (... unwichtig hier ...)
FOR XML PATH('tr'), TYPE
) AS NVARCHAR(MAX) ) +
N'</table>' ;
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Profile',
@recipients = '[email protected]',
@subject = 'Betreff ...',
@body = @tableHTML,
@body_format = 'HTML';
[/Highlight]
Grüße
Tilo
aus der T-SQL_Referenz habe ich das Beispiel zu "sp_send_dbmail" zum Erstellen einer E-Mai im HTML-Format übernommen und für meine Zwecke angepasst (Code siehe unten). Funktioniert prima, aber: Eine Tabellenspalte enthält Text mit Zeilenumbrüchen (CR+LF), die im HTML-Output fehlen. Wie bekomme ich die Zeilenumbrüche in den HTML-Code hinen? Ein REPLACE(TEXT, CAHR(13)+CHAR(10), '<br>') funktioniert nicht, das "<br>" wird im Text angezeigt, aber nicht ausgeführt.
Mein Code ist der:
[Highlight=sql]
DECLARE @tableHTML NVARCHAR(MAX);
SET @tableHTML =
N'<H1>Tagesbericht Servicescheine</H1>' +
N'<table border="1">' +
N'<tr><th>Kunde</th><th>Beleg</th><th>Text</th><th>Stunden</th>' +
CAST ( ( SELECT td = KUNDEN.Anzeigename, '',
td = BELEG.Belegnummer, '',
td = TEXT.TEXT, '',
td = CAST(BELEGP.Menge AS DECIMAL(8,2))
FROM (... unwichtig hier ...)
WHERE (... unwichtig hier ...)
FOR XML PATH('tr'), TYPE
) AS NVARCHAR(MAX) ) +
N'</table>' ;
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Profile',
@recipients = '[email protected]',
@subject = 'Betreff ...',
@body = @tableHTML,
@body_format = 'HTML';
[/Highlight]
Grüße
Tilo
Comment