me podrían ayudar o guiarme por donde soluciono el siguiente problema
necesito que desde sql se arme el html ,de una consulta de n registros
lo trato de hacer con un cursor pero siempre me genera varias html separados cada registro
cualquier ayuda gracias
adjunto el codigo
Código SQL:
Ver original
USE [Prueba] GO /****** Object: StoredProcedure [dbo].[EnviaCorreoServicios] Script Date: 25/05/2013 04:15:01 p.m. ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ------------------------------------------------------------------------------------------------------ --Descripción: Stored Procedure encargado de crear la cadena HTML que muestra las tablas de Servicios de Interplus -- que son enviadas por correo, se encarga también de enviar el correo electrónico. --Postcondción: Envía correo electrónico con las tablas de los servicios prestados el dia anterior --Autor: Daniel Alejandro Lopez A. ------------------------------------------------------------------------------------------------------ ALTER PROCEDURE [dbo].[EnviaCorreoServicios] AS BEGIN TRY -- Declaracion de variables para el cursor DECLARE @orden AS VARCHAR(MAX), @Tipo_Orden AS VARCHAR(MAX), @ciudad AS VARCHAR (MAX), @cliente AS VARCHAR(MAX), @ImpEncabHTML AS VARCHAR(MAX), @ImpDetalHTML AS VARCHAR(MAX), @MensajeError AS VARCHAR(MAX), @primero AS VARCHAR(MAX), @primero1 AS VARCHAR(MAX), @primero2 AS VARCHAR(MAX), @primero3 AS VARCHAR(MAX), @segunda AS VARCHAR(MAX) -- Declaración del Mensaje de error SET @MensajeError = 'Se produjo un error en la Consulta de la informacion' --Declaracion del cursor DECLARE cReporte CURSOR FOR SELECT Orden, tipo_orden, Ciudad,Cliente FROM tbl_oservicios -- Apertura del cursor OPEN cReporte-- Lectura de la primera fila del cursor FETCH cReporte INTO @orden,@Tipo_Orden,@ciudad,@cliente WHILE (@@FETCH_STATUS = 0 ) BEGIN --set @pagehtml='hola' -- set @ImpEncabHTML=(select * from tbl_oservicios) -- SELECT Orden=@orden,Tipo_Orden=@Tipo_Orden,Ciudad=@ciudad,Cliente=@cliente FROM tbl_oservicios -- set @primero='<td>'+@orden+'</td>' -- set @primero1='<td>'+@Tipo_Orden+'</td>' -- set @primero2='<td>'+@ciudad+'</td>' -- set @primero3='<td>'+@cliente+'</td>' -- Lectura de la siguiente fila del cursor fetch NEXT FROM cReporte INTO @orden,@Tipo_Orden,@ciudad,@cliente SELECT @segunda='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>**Ordenes Creadas Servicio**</title> <style type="text/css"> <!-- .Estilo3 {font-size: 18px; font-weight: bold; color: #CCCCCC; } .Estilo4 { color: #FFFFFF; font-weight: bold; } .Estilo5 {font-size: 16px} --> </style> </head> <body> <table width="686" border="2"> <tr> <td width="113" bgcolor="#0066FF"><div align="center" class="Estilo3"># Orden </div></td> <td width="169" bgcolor="#0066FF"><div align="center" class="Estilo3">Tipo de Orden</div></td> <td width="187" bgcolor="#0066FF"><div align="center" class="Estilo3">Ciudad</div></td> <td width="187" bgcolor="#0066FF"><div align="center" class="Estilo3">Cliente</div></td> </tr> <tr> ''<td>'+@orden+'</td>'' </tr> </table> </body> </html>' SELECT @segunda END -- Cierre del cursor CLOSE cReporte -- Liberar los recursos DEALLOCATE cReporte --si no existen recursos IF EXISTS (SELECT COUNT(*) FROM tbl_oservicios HAVING COUNT(*)=0) SELECT @MensajeError END TRY BEGIN CATCH SELECT @MensajeError SELECT ERROR_NUMBER() SELECT ERROR_LINE() SELECT ERROR_MESSAGE() END CATCH