Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/12/2003, 08:18
Avatar de franfritz
franfritz
 
Fecha de Ingreso: marzo-2003
Ubicación: Stgo Chile
Mensajes: 260
Antigüedad: 22 años, 1 mes
Puntos: 0
¿porque la stored procedure me graba 2 veces?

Hola a todos, tengo una funcion con stored procedure, pero me esta grabando 2 veces en la Base. este es el codigo:



<%
'rescato 3 valores de otra pagina
session("nombre_t")=request.form("naam")
session("score_t")=request.form("points2")
session("email")=request.form("email")



if isempty(session("nombre_t")) then
session("nombre_t")=null
end if
'***************************************

Set cmTopCaza=Server.CreateObject("ADODB.Command")
Set cmTopCaza.ActiveConnection=cnAhorroNinos
cmTopCaza.CommandType=adCMDStoredProc
cmTopCaza.CommandText="sp_TopCaza"
set rsCaza = cmTopCaza.execute

if not (rsCaza.eof and rsCaza.bof) then
do until rsCaza.eof
Session("min_Caza")=rsCaza("puntaje")
Session("id_Caza")=rsCaza("ID_Caza")
rsCaza.movenext
loop
end if

if cint(session("score_t")) > cint(Session("min_Caza")) then

Set cmCaza=Server.CreateObject("ADODB.Command")
Set cmCaza.ActiveConnection=cnAhorroNinos
cmCaza.CommandType=adCMDStoredProc
cmCaza.CommandText="sp_InsCaza"

with cmCaza
.Parameters("@ID_Caza")=cint(Session("id_Caza"))
.Parameters("@nombre")=session("nombre_t")
.Parameters("@puntaje")=cint(session("score_t"))
.Parameters("@email")=session("email")
.Execute
end with
end if

rsCaza.close



'Show the first three result depending the velocity
Set cmTop3Caza=Server.CreateObject("ADODB.Command")
Set cmTop3Caza.ActiveConnection=cnAhorroNinos
cmTop3Caza.CommandType=adCMDStoredProc
cmTop3Caza.CommandText="sp_Top3Caza"
set rsCaza3 = cmTop3Caza.execute
'rsPing3.movefirst

%>


y estas son las SP:


sp_InsCaza

CREATE PROC sp_InsCaza
@ID_Caza int ,@nombre nvarchar(50),@email nvarchar(100) , @puntaje int
AS
Update tsss_caza set puntaje=@puntaje,nombre=@nombre,email=@email
where ID_Caza=@ID_Caza





sp_Top3Caza

CREATE PROC sp_Top3Caza
AS
SELECT * FROM tsss_caza order by puntaje desc






sp_TopCaza

CREATE PROC sp_TopCaza
AS
select top 1 * from tsss_caza order by puntaje



no entiendo porque en la base me esta grabando 2 veces siendo que cuando grabo esta fuera de un ciclo.


de antemano muchas gracias.