Visual Basic.NET - Dato devuelto por un Proc. Almacenado

 
Vista:
sin imagen de perfil

Dato devuelto por un Proc. Almacenado

Publicado por donkirk (17 intervenciones) el 11/11/2005 17:44:36
Hola, tengo este procedimiento:

********************************************************************
ALTER PROCEDURE [dbo].[PA_DevolverLocalizaciones]
@lon float,
@lat float
AS
declare @Localizacion char(255)
declare @SearchSize as decimal(18,15)
select @SearchSize = (0.0001)

select @Localizacion = (select top 1 POBLACION from LOCALIZACIONES where LONGITUD = @lon and LATITUD = @lat)

while @Localizacion is null
begin
select @Localizacion = (select top 1 POBLACION from LOCALIZACIONES where LONGITUD between @lon-@SearchSize and @lon+@searchSize and LATITUD between @lat-@SearchSize and @lat+@SearchSize)
select @SearchSize = @SearchSize + 0.001
end

return @Localizacion
**********************************************************************

Desde el codigo, al ejecutar la linea Datareader = "Comando.ExecuteReader, me da el error: Syntax error converting the varchar value 'MADRID ' to a column of data type int"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dato devuelto por un Proc. Almacenado

Publicado por Edgar (1501 intervenciones) el 11/11/2005 18:11:25
Hola

Normalmente lo que se hace es declarar un parametro con el modificador out, para indicarle que es un valor de retorno, y dejan el return para retornar codigos de error y resultsets

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Dato devuelto por un Proc. Almacenado

Publicado por donkirk (17 intervenciones) el 11/11/2005 18:27:44
Gracias, lo probare.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Dato devuelto por un Proc. Almacenado

Publicado por donkirk (17 intervenciones) el 16/11/2005 09:32:22
Sigo con el mismo problema, ahora tengo el procedimiento asi:

********************************************************************************

ALTER PROCEDURE [dbo].[PA_DevolverLocalizaciones]
@lon float,
@lat float,
@Localizacion char(255) OUT
AS
declare @SearchSize as decimal(18,15)
select @SearchSize = (0.0001)

select @Localizacion = (select top 1 POBLACION from LOCALIZACIONES where LONGITUD = @lon and LATITUD = @lat)

while @Localizacion is null
begin
select @Localizacion = (select top 1 POBLACION from LOCALIZACIONES where LONGITUD between @lon-@SearchSize and @lon+@searchSize and LATITUD between @lat-@SearchSize and @lat+@SearchSize)
select @SearchSize = @SearchSize + 0.001
end

*********************************************************************************

Si añado al final la el return (return @Localizacion), al ejecutar en el codigo la linea "Datareader = Comando.ExecuteReader" me da el error "Syntax error converting the varchar value 'MADRID ' to a column of data type int".
Si no añado el return al final, la linea del ExecuteReader la hace bien, pero al intentar ver el dato obtenido por el procedimiento con "MsgBox(Datareader.Item("Localizacion"))" me da error de lectura pq el objeto esta vacio.

Estoy bloqueado aqui, agradezco cualquier ayuda.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar