Este SP jala a medias
Publicado por Ernesto (12 intervenciones) el 30/09/2004 15:59:19
Saludos a todos
Resulta que tengo el siguiente SP el cual checa si el registro existe, de no ser asi lo crea y posteriormente tiene que regresar un registro asi mismo si el registro ya existe mediante un parametro que le envio le indico que tiene que hacer o no una actualizacion del registro y en cualquiera de esos dos casos tambien me tiene que regresar un registro con una consulta.
CREATE PROCEDURE CheckDispReg01
@Id int,
@IdCatAreasINEGI int,
@OtrasAreas varchar(255),
@Act int = 0
as
declare @CuestExist int
declare @Sqltxt varchar(8000)
if (@Id <> 0)
begin
set @CuestExist = (select count(IdCuest) from IdeAreaINEGIResRel where IdCuest = @Id)
if (@CuestExist = 0)
begin
insert IdeAreaINEGIResRel (IdCuest, IdCatAreasINEGI, OtrasAreas) values (@Id, 0,'' )
end
else
begin
if (@Act = 1) update IdeAreaINEGIResRel set IdCatAreasInegi =@IdCatAreasINEGI , OtrasAreas = @OtrasAreas where IdCuest = @Id
end
end
--select IdCatAreasINEGI as ID, OtrasAreas from IdeAreaINEGIResRel where IdCuest = @Id
Set @Sqltxt = 'select IdCatAreasINEGI as ID, OtrasAreas from IdeAreaINEGIResRel where IdCuest = ' + str(@Id)
--Set @Sqltxt = @Sqltxt + ' union Select 10000 as ID, '''' as OtrasAreas order by ID desc'
exec(@Sqltxt)
GO
Ahora bien el problema es el siguiente cuando lo ejecuto en el analizador de consultas resulta que todo trabaja muy bien ya que en cualquiera de los 3 casos que se presenten este me regresa la consulta con el registro que solicite sin problemas pero si lo ejecuto a traves de una pagina asp resulta que este no funciona, la pagina web me manda un error diciendo que no puede trabajar con un recordset cerrado... eso sucede en caso de que este haciendo una insercion de registro o actualizacion
La verda ya me tiene medio loco el problemita
Saludos
Resulta que tengo el siguiente SP el cual checa si el registro existe, de no ser asi lo crea y posteriormente tiene que regresar un registro asi mismo si el registro ya existe mediante un parametro que le envio le indico que tiene que hacer o no una actualizacion del registro y en cualquiera de esos dos casos tambien me tiene que regresar un registro con una consulta.
CREATE PROCEDURE CheckDispReg01
@Id int,
@IdCatAreasINEGI int,
@OtrasAreas varchar(255),
@Act int = 0
as
declare @CuestExist int
declare @Sqltxt varchar(8000)
if (@Id <> 0)
begin
set @CuestExist = (select count(IdCuest) from IdeAreaINEGIResRel where IdCuest = @Id)
if (@CuestExist = 0)
begin
insert IdeAreaINEGIResRel (IdCuest, IdCatAreasINEGI, OtrasAreas) values (@Id, 0,'' )
end
else
begin
if (@Act = 1) update IdeAreaINEGIResRel set IdCatAreasInegi =@IdCatAreasINEGI , OtrasAreas = @OtrasAreas where IdCuest = @Id
end
end
--select IdCatAreasINEGI as ID, OtrasAreas from IdeAreaINEGIResRel where IdCuest = @Id
Set @Sqltxt = 'select IdCatAreasINEGI as ID, OtrasAreas from IdeAreaINEGIResRel where IdCuest = ' + str(@Id)
--Set @Sqltxt = @Sqltxt + ' union Select 10000 as ID, '''' as OtrasAreas order by ID desc'
exec(@Sqltxt)
GO
Ahora bien el problema es el siguiente cuando lo ejecuto en el analizador de consultas resulta que todo trabaja muy bien ya que en cualquiera de los 3 casos que se presenten este me regresa la consulta con el registro que solicite sin problemas pero si lo ejecuto a traves de una pagina asp resulta que este no funciona, la pagina web me manda un error diciendo que no puede trabajar con un recordset cerrado... eso sucede en caso de que este haciendo una insercion de registro o actualizacion
La verda ya me tiene medio loco el problemita
Saludos
Valora esta pregunta


0