Foros del Web » Programando para Internet » ASP Clásico »

examen on line

Estas en el tema de examen on line en el foro de ASP Clásico en Foros del Web. Buenas tardes, mis a saludos a todos... En esta oportunidad me dirijo a ustedes para plantear el siguiente problema, actualmente estoy tratando de hacer una ...
  #1 (permalink)  
Antiguo 30/03/2009, 14:54
 
Fecha de Ingreso: enero-2009
Mensajes: 112
Antigüedad: 16 años, 3 meses
Puntos: 0
examen on line

Buenas tardes, mis a saludos a todos...
En esta oportunidad me dirijo a ustedes para plantear el siguiente problema, actualmente estoy tratando de hacer una pagina para que los usuarios puedan acer un examen on line segun el curso que tomaron, y que los resultados de sus examen se guarden en mi db, la verdad no tengo una muy vaga idea de como hacerlo si saben de alguna info que me pueda servir mucho se lo agradesere. Gracias por la ayuda....
  #2 (permalink)  
Antiguo 30/03/2009, 15:32
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
Respuesta: examen on line

y sabes programar en asp??
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #3 (permalink)  
Antiguo 31/03/2009, 04:34
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: examen on line

Hola

El asunto, de una forma sencilla, que ocupas sería algo como

+ Un form con el test y un campo en el que el alumno inserte su id
+ Recoger esos datos en otra página e insertarlos en tu bd

Por otro lado si el problema es que no conoces nada de ASP, como te pregunta mc_quake, sería mejor que leyeras un poco

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 01/04/2009, 07:53
 
Fecha de Ingreso: enero-2009
Mensajes: 112
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: examen on line

buenos dias, no les he escrito porque estaba trabajando en un codigo, para solventar el problema antes expuesto, pero me un error: Error Type:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos.....

mucho gracias por la ayuda,
y en cuanto a la pregunta que si conosco de asp, actualmente estoy eso tratando de conocer,
  #5 (permalink)  
Antiguo 01/04/2009, 14:43
 
Fecha de Ingreso: enero-2009
Mensajes: 112
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: examen on line

este es el codigo que estoy empleando:
<%set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open (application("DBConn"))
set ra=createobject("ADODB.Recordset")
%>

<%if isarray(session("mytest"))=false then
idtest=request("idtest")
if idtest="" then response.redirect "default.asp"
dim pmytest(25,1)
sqltxt="select idpregunta from preguntas where idtest="&idtest

ra.open sqltxt,oconn
if ra.eof then
ra.close
set ra=nothing
oconn.close
set oconn=nothing
response.redirect "resettest.asp"
end if
i=0
do while not ra.eof 'se realiza el vector con los id de las preguntas
i=i+1
pmytest(i,0)=ra("idpregunta")
pmytest(i,1)=0
ra.movenext
loop
ra.close 'VERIFICAR LOS PARENTESIS
sqltxt="select titulo from test where idtest="&idtest
ra.open sqltxt,oconn
titulo=ra("titulo")
ra.close
session("npreguntas")=i
session("test")=idtest
session("titulo")=titulo
session("posicion")=1
posicion=1
session("mytest")=pmytest
session("nick")=trim(request.form("nick"))
else
pmytest=session("mytest")
posicion=session("posicion")
pmytest(posicion,1)=request.form("r1")
session("mytest")=pmytest

if posicion <= session("npreguntas") then
posicion=posicion+1
session("posicion")=posicion
end if
end if
if pmytest(posicion,0)<>"" then

%>
<html>

<head>

<title>Test </title>
</head>

<body>

</p>
<form method="POST" action="test.asp" id="form1" name="form1">

<div align="center">
<center>
<table border="1" width="90%">
<tr>
<td width="100%" bgcolor="#B12148" align="center">
<p align="center"><font color="#FFFFFF" face="Verdana" size="2"><b><%=session("titulo")%></b></font><font color="#FFFFFF" face="Verdana" size="1"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;
Pregunta <%=session("posicion")%> de <%=session("npreguntas")%></b></font></td>
</tr>
<tr>
<td width="100%">
<div align="center">
<center>
<%idpregunta=pmytest(posicion,0)
sqltxt="select * from preguntas where idpregunta="&idpregunta
ra.open sqltxt,oconn
%>
<table border="0" width="90%">
<tr>
<td width="100%" colspan="2" align="center"><font face="Verdana" size="2"><b><%=ra("texto")%>
</b></font>
</td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center">&nbsp;</td>
</tr>

<tr>
<td width="100%" colspan="2">
<div align="center">
<center>
<table border="0" width="50%">
<%if ra("opcion1")<>"" then%>
<tr>
<td width="10%"><font face="Verdana" size="1"><input type="radio" value="1" name="R1"></font></td>
<td width="90%"><font face="Verdana" size="1"><%=ra("opcion1")%></font></td>
</tr>
<%end if%>
<%if ra("opcion2")<>"" then%>
<tr>
<td width="10%"><font face="Verdana" size="1"><input type="radio" value="2" name="R1"></font></td>
<td width="90%"><font face="Verdana" size="1"><%=ra("opcion2")%></font></td>
</tr>
<%end if%>
<%if ra("opcion3")<>"" then%>
<tr>
<td width="10%"><font face="Verdana" size="1"><input type="radio" value="3" name="R1"></font></td>
<td width="90%"><font face="Verdana" size="1"><%=ra("opcion3")%></font></td>
</tr>
<%end if%>
<%if ra("opcion4")<>"" then%>
<tr>
<td width="10%"><font face="Verdana" size="1"><input type="radio" value="4" name="R1"></font></td>
<td width="90%"><font face="Verdana" size="1"><%=ra("opcion4")%></font></td>
</tr>


<%end if
ra.close%>

</table>
</center>
</div>
</td>
</tr>
<tr>
<td width="100%">
</td>
</tr>
<tr>
<td width="100%">
<p align="center"><input type="submit" value="Enviar" name="B1"></td>
</tr>
</table>
</center>
</div>


<p align="center">

</form>

<%else
correctas=0
incorrectas=0
enblanco=0
sqltxt="select idpregunta, respuestacorrecta from preguntas where idtest="&session("test")
ra.open sqltxt,oconn
do while not ra.eof
for i=1 to session("npreguntas")
if pmytest(i,0)=ra("idpregunta") then
if pmytest(i,1)<>"" then
if cint(pmytest(i,1))=ra("respuestacorrecta") then
correctas=correctas+1
else
incorrectas=incorrectas+1
end if
else
enblanco=enblanco+1
end if
end if
next
ra.movenext
loop
ra.close
pcorrectas=correctas*10/session("npreguntas")
pincorrectas=incorrectas*(10/session("npreguntas")/2)*-1
total=pcorrectas+pincorrectas
if total<0 then total=0

if session("apuntar")<>"ok" then
Const adOpenKeyset = 1
Const adLockOptimistic = 3

ra.CursorType = adOpenKeyset
ra.LockType = adLockOptimistic
ra.open "puntuaciones",oconn
ra.addnew
ra("idtest")=cint(session("test"))
ra("puntuacion")=total
ra("fecha")=date()
if session("nick")="" then
nick="Anonimo"
else
nick=session("nick")
end if
ra("nick")=nick
ra.update
ra.close
session("apuntar")="ok"
end if
%>
</div>
</center>


</p>

<div align="center">
<center>
<table border="0" width="80%">
<tr>
<td width="100%" colspan="4" bgcolor="#B12148">
<p align="center"><font color="#FFFFFF"><%=session("titulo")%></font></td>
</tr>
<tr>
<td width="33%" valign="middle" bgcolor="#CDB1B7"><font face="Verdana" size="1"><b>Respuestas correctas</b></font></td>
<td width="7%" valign="middle" align="center" bgcolor="#CDB1B7"><font face="Verdana" size="1" color="#0000FF"><b><%=correctas%></b></font></td>
<%ancho=correctas/session("npreguntas")*100 %>
<td width="39%" bgcolor="#CDB1B7"><img border="0" src="barrav.gif" width="<%=ancho%>%" height="25"></td>
<td width="21%" align="right" valign="middle" bgcolor="#CDB1B7"><font face="Verdana" size="1"><b><%=formatnumber(pcorrectas,2)%> puntos</b></font></td>
</tr>
<tr>
<td width="33%" valign="middle" bgcolor="#CDB1B7"><font face="Verdana" size="1"><b>Respuestas incorrectas</b></font></td>
<td width="7%" valign="middle" align="center" bgcolor="#CDB1B7"><font face="Verdana" size="1" color="#0000FF"><b><%=incorrectas%></b></font></td>
<%ancho=incorrectas/session("npreguntas")*100 %>

<td width="39%" bgcolor="#CDB1B7"><img border="0" src="barrar.gif" width="<%=ancho%>%" height="25"></td>
<td width="21%" align="right" valign="middle" bgcolor="#CDB1B7"><font face="Verdana" size="1"><b><%=formatnumber(pincorrectas,2)%> puntos</b></font></td>
</tr>
<tr>
<td width="33%" valign="middle" bgcolor="#CDB1B7"><font face="Verdana" size="1"><b>Respuestas en blanco</b></font></td>
<td width="7%" valign="middle" align="center" bgcolor="#CDB1B7"><font face="Verdana" size="1" color="#0000FF"><b><%=enblanco%></b></font></td>
<%ancho=enblanco/session("npreguntas")*100 %>

<td width="39%" bgcolor="#CDB1B7"><img border="0" src="barran.gif" width="<%=ancho%>%" height="25"></td>
<td width="21%" align="right" valign="middle" bgcolor="#CDB1B7"></td>
</tr>
<tr>
<td width="33%" valign="middle" bgcolor="#CDB1B7"><font face="Verdana" size="1"><b>Calificación (sobre 10):</b></font></td>
<td width="7%" valign="middle" align="center" bgcolor="#CDB1B7">
<p align="center"><font face="Verdana" size="1" color="#0000FF"><b>
<%if total>=5 then%>
<img border="0" src="bien.gif">&nbsp;</b></font></p>
<%else%>
<img border="0" src="mal.gif">&nbsp;</b></font></p>
<%end if%>

</td>
<%ancho=total/session("npreguntas")*100 %>

<td width="39%" bgcolor="#CDB1B7"><img border="0" src="barraa.gif" width="<%=ancho%>%" height="25"></td>
<td width="21%" align="right" valign="middle" bgcolor="#CDB1B7"><font face="Verdana" size="1" color="#0000FF"><b><%=formatnumber(total,2)%> puntos</font></b></td>
</tr>
</table>
</center>
</div>
<p align="center">




<div align="center">
<center>
<table border="0" width="80%" bgcolor="#B12148">
<tr>
<td width="33%" align="center" bgcolor="#FFFFFF"><a href="resettest.asp?idtest=<%=session("test")%>">< font face="Verdana" size="1"><b>repetir el examen</b></font></a></td>
<td width="33%" align="center" bgcolor="#FFFFFF"><b><font face="Verdana" size="1"><a href="verrespuestas.asp?idtest=<%=session("test")% >">Ver
las respuestas correctas</a></font></b></td>
<td width="34%" align="center" bgcolor="#FFFFFF"><b><font face="Verdana" size="1"><a href="resettest.asp">Hacer otro test</a></font></b></td>
</tr>
</table>
</center>
</div>




<p align="center">&nbsp;</p>
  #6 (permalink)  
Antiguo 01/04/2009, 14:44
 
Fecha de Ingreso: enero-2009
Mensajes: 112
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: examen on line

<div align="center">
<center>
<table border="0" width="80%">
<tr>
<td width="16%" align="center" bgcolor="#B12148"><font face="Verdana" size="1" color="#FFFFFF"><b>Posicion</b></font></td>
<td width="33%" align="center" bgcolor="#B12148"><font face="Verdana" size="1" color="#FFFFFF"><b>Usuario</b></font></td>
<td width="17%" align="center" bgcolor="#B12148"><font face="Verdana" size="1" color="#FFFFFF"><b>Fecha</b></font></td>
<td width="34%" align="center" bgcolor="#B12148"><font face="Verdana" size="1" color="#FFFFFF"><b>Puntos</b></font></td>
</tr>
<%sqltxt="select * from puntuaciones where idtest="&session("test")&" order by puntuacion desc"
ra.open sqltxt, oconn
contador=1
do while not ra.eof and contador < 10
%>
<tr>
<td width="16%" align="center" bgcolor="#CDB1B7"><font face="Verdana" size="1"><b><%=contador%></b></font></td>
</center>
<td width="33%" align="center" bgcolor="#CDB1B7">
<p align="left"><font face="Verdana" size="1"><b><%=ra("nick")%></b></font></td>
<td width="17%" align="center" bgcolor="#CDB1B7"><font face="Verdana" size="1"><b><%=ra("fecha")%></b></font></td>
<td width="34%" align="center" bgcolor="#CDB1B7">
<p align="right"><font color="#0000FF" size="1" face="Verdana"><b><%=formatnumber(ra("puntuacion") ,2)%>
puntos</b></font></td>
</tr>
<center>
<center>
<%contador=contador+1
ra.movenext
loop
ra.close%>
</table>
</center>
</div>



<%
set ra=nothing
oconn.close
set oconn=nothing
end if%>

</body>
</html>

y este es el error que me da:

Error Type:
Error de Microsoft VBScript en tiempo de ejecución (0x800A0411)
Nombre redefinido: 'adOpenKeyset'
/cursosAHSI/test.asp, line 176
  #7 (permalink)  
Antiguo 01/04/2009, 15:33
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: examen on line

ummmm

Nombre redefinido: 'adOpenKeyset'

esta dos veces????

tenes algún include en donde lo definís y lo volver a definir aquí?????
__________________
JuanRa Pérez
San Salvador, El Salvador
  #8 (permalink)  
Antiguo 02/04/2009, 07:02
 
Fecha de Ingreso: enero-2009
Mensajes: 112
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: examen on line

no alli es el unico lugar donde lo tengo, si me puedes echar una mano porfa..
  #9 (permalink)  
Antiguo 02/04/2009, 12:34
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: examen on line

Hola

Revisa bien por que ha de estar definida en algún otro sitio

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #10 (permalink)  
Antiguo 02/04/2009, 15:31
 
Fecha de Ingreso: enero-2009
Mensajes: 112
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: examen on line

buenas ya el error anterios esta resuelto ahora me da este error: Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos
/cursosAHSI/test.asp, line 157

y estas son las lineas en cuestion:

<%else
correctas=0
incorrectas=0
enblanco=0
sqltxt="select idpregunta, respuestacorrecta from preguntas where idtest="&session("test")
ra.open sqltxt,oconn
do while not ra.eof
for i=1 to session("npreguntas")
if pmytest(i,0)=ra("idpregunta") then
if pmytest(i,1)<>"" then
if cint(pmytest(i,1))=ra("respuestacorrecta") then ' linea157
correctas=correctas+1
else
incorrectas=incorrectas+1
end if
else
enblanco=enblanco+1
end if
end if
next
ra.movenext
loop
ra.close
pcorrectas=correctas*10/session("npreguntas")
pincorrectas=incorrectas*(10/session("npreguntas")/2)*-1
total=pcorrectas+pincorrectas
if total<0 then total=0

if session("apuntar")<>"ok" then
Const adOpenKeyset = 1
Const adLockOptimistic = 3

ra.CursorType = adOpenKeyset
ra.LockType = adLockOptimistic
ra.open "puntuaciones",oconn
ra.addnew
ra("idtest")=cint(session("test"))
ra("puntuacion")=total
ra("fecha")=date()
if session("nick")="" then
nick="Anonimo"
else
nick=session("nick")
end if
ra("nick")=nick
ra.update
ra.close
session("apuntar")="ok"
end if

porfa necesito culminar con esto y ya tengo 3 dias sin poder terminar gracias...
  #11 (permalink)  
Antiguo 02/04/2009, 16:11
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: examen on line

y ... ¿cuál es la linea 157?
  #12 (permalink)  
Antiguo 02/04/2009, 17:00
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: examen on line

hahaha bueno seria solo pegaran esa linea
o la resaltaran
o la hicieran notar!!!!!
__________________
JuanRa Pérez
San Salvador, El Salvador
  #13 (permalink)  
Antiguo 03/04/2009, 05:14
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: examen on line

Hola

cint(pmytest(i,1)) lo conviertes en un entero, pero ¿qué tipo de dato es?. Probablemente si le quitas CInt, funcione

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #14 (permalink)  
Antiguo 03/04/2009, 06:30
 
Fecha de Ingreso: enero-2009
Mensajes: 112
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: examen on line

hola adler que tal estas, ya he realizado el cambio que me has dicho pero me sigue dando el mismo error, que tal
  #15 (permalink)  
Antiguo 03/04/2009, 06:31
 
Fecha de Ingreso: enero-2009
Mensajes: 112
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: examen on line

Cita:
Iniciado por Myakire Ver Mensaje
y ... ¿cuál es la linea 157?
disculpen no la coloque muy vistosa esta es la linea.
if cint(pmytest(i,1))=ra("respuestacorrecta") then ' linea157
  #16 (permalink)  
Antiguo 03/04/2009, 07:07
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: examen on line

Hola

Fijandome ¿de donde sacas el arreglo pmytest? y en caso que estuviera bien ¿no sería?

pmytest(1,i)

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #17 (permalink)  
Antiguo 03/04/2009, 12:43
 
Fecha de Ingreso: enero-2009
Mensajes: 112
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: examen on line

señores el error regresa Error Type:
Error de Microsoft VBScript en tiempo de ejecución (0x800A0411)
Nombre redefinido: 'adOpenKeyset'

  #18 (permalink)  
Antiguo 03/04/2009, 12:59
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: examen on line

Las constantes debes definirlas en la parte superior de tu código

Mueve estas lineas al inicio de tu página y verifica que solo existan una sola vez

Const adOpenKeyset = 1
Const adLockOptimistic = 3

verifica también que no tengas un include donde las definas
  #19 (permalink)  
Antiguo 06/04/2009, 14:31
 
Fecha de Ingreso: enero-2009
Mensajes: 112
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: examen on line

buenas tardes, que tal estas mil gracias por ayudarme a resolver una parte de mi problema ya esta casi solventado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:51.