Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/11/2006, 12:55
Avatar de luisvasquez
luisvasquez
 
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 21 años, 1 mes
Puntos: 6
Pregunta "Traducir" Procedimiento Almacenado SQL server a ASP

Estimados Amigos,

Se que lo que voy a pedir es extraño, porque implica ir atrás "tecnologicamente hablando".

Tengo un procedimiento almacenado (Stored Procedure) en SQL Server, pero necesito usarlo en una aplicación que está en MS Access con ASP.

El Procedimiento busca rutas posibles entre 2 ciudades que entran como parametros (origen y destino) y utiliza una tabla llamada "proxima" donde se almacenan las ciudades proximas a una ciudad dada. Asi podrá ir "contruyendo" la ruta entre el origen y el destino.

Por lo que puedo ver, se trata de un procedimiento recursivo, que va concatenando los tramos que unen una ciudad con otra, hasta encontrar el destino indicado en el parametro.

Como no entiendo nada de SP, pido su colaboración para darme una mano con el código siguiente:

Código:
create procedure [dbo].[find_routes]
@origen int, @destino int, @ruta_param varchar(500) = ''
as

set nocount on

declare @ruta varchar(500)

if @ruta_param =''
  set @ruta = cast(@origen as char(2))

else
  set @ruta = @ruta_param

declare @rownum int, @rowcount int

declare @temp table (id int identity(1,1),origen int)

if not exists(select destino from proxima where origen=@origen and charindex(cast(destino as varchar(3)),@ruta)=0)

return

insert into @temp

select destino from proxima where origen=@origen and charindex(cast(destino as varchar(3)),@ruta)=0

set @rowcount=@@ROWCOUNT

set @rownum=1

while (@rownum<=@rowcount)

begin

declare @ruta1 varchar(500)

select @origen=origen from @temp where id=@rownum

set @ruta1=@ruta+'-'+cast(@origen as char(2))

if @origen<>@destino

exec find_routes @origen,@destino,@ruta1

else

begin

set @ruta=@ruta+'-'+cast(@origen as char(2))

print @ruta

end

set @rownum=@rownum+1

end
Saludos y un millón de gracias
Luis

Última edición por luisvasquez; 01/11/2006 a las 12:57 Razón: Cambiar el titulo...