buenas tardes
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 originalUSE [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