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.