Problema en select ayuda porfa

16/01/2006 - 21:15 por transvega | Informe spam
Saludos a todos, necesito de su valiosa ayuda ya que esto me urge un poco,
resulta que tengo en una BD SQL 2 tablas, una de usuarios y otra para
resultados.

La primera ASP que tengo me captura el ID del usuario y lo paso a una
segunda ASP la cuál debe verificar primero si se encuentra el ID en la
tabla Usuarios, y luego verificar si ha grabado algun resultado en la otra
tabla, si es así enviar un mensaje que ya ingresó anteriormente. Si no
existe en Resultados enviarlo a la ASP del cuestionario y si no existe en
ninguna enviar mensaje diciendo que no existe el ID.

Estoy utilizando un ODBC para conectar a la BD pero cuando intento validar
el ID me sale el mensaje de que no existe el ID en la BD y es porque está
validando las dos.

Les adjunto el código para que me den una ayuda a ver cuál es el problema,
lo cual les agradecería mucho.


El código es el siguiente:

<html>
<td width="30%"><img src="img/Logo_MH.jpg" width="136" height="122"> </td>
<br>
<br>
<br>
</html>

<%
Dim cedula, oConn, RS, Id

'Primero nos fijamos si ambos campos fueron completados.
'Si no se cumple, redireccionamos a validar.asp
If Request.Form("cedula") = "" then
Response.Redirect "validar.asp"
Else
'Guardamos los datos del Form en variables y evitamos la comilla simple
cedula = Trim(Request.Form("cedula"))
cedula = Replace(cedula,"'","''")
Id=cedula

'Conexion por ODBC
oConn.Open "DSN=control;UID=XXXX;PWD=XXXX"

'Seleccionamos de la tabla solo los registros que concuerden con el
usuario del Form.
sql = "SELECT * FROM TUsuarios U, Tresultadosweb W WHERE U.cedula = "&
cedula &" or W.cedula= "& cedula &""

Set RS = Server.CreateObject ("ADODB.RecordSet")
RS.Open sql, oConn
'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el
usuario.
If (RS.EOF = true) then

Response.Write "Esta ID no existe en nuestra base de datos, favor
contactar al personal técnico de la comisión"
ElseIf RS.Fields("cedula") = cedula then 'Si el campo de la tabla es igual
a nuestra variable, estas logueado.


'Para redireccionar a la pagina del demo
response.Write "La cédula número: " & Cedula & "<br>"
response.Write "Ya proporcionó las respuestas anteriormente"

Else 'Otra cosa, seria cuando el password no es la que seleccionamos.
'Response.Write "Esta cédula no se encuentra registrada"
'Para redireccionar a la pagina del demo
Response.Redirect("cuestionario.asp?Id="&Server.URLEncode(cedula)&"")


End If
'Limpiamos y cerramos.
RS.Close
oConn.Close
Set RS = Nothing
Set oConn = Nothing
End If
%>

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
17/01/2006 - 16:08 | Informe spam
Suponiendo que primeramente se graba en la tabla de usuarios, yo
probaría con la siguiente consulta:

SELECT u.cedula as usuario, w.cedula as resultado FROM TUsuarios u LEFT
JOIN TresultadosWeb w ON u.cedula=w.cedula WHERE u.cedula= #valor del
parámetro#

Se pueden dar entonces tres casos:

- Que u.cedula sea NULL -> el usuario no existe
- Que w.cedula sea NULL -> el usuario existe pero no ingresó resultados
en esa tabla
- Que los dos campos sean diferentes de NULL -> el usuario existe e
ingresó resultados en la tabla



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Jorge" escribió en el mensaje
news:#
Mostrar la cita
#2 Carlos Sacristán
17/01/2006 - 16:54 | Informe spam
Perdón, el primer caso evidentemente no se puede dar porque lo que
ocurre en realidad es que no hay resultados.

A estas horas ya a uno le empieza a fallar la neurona...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Mostrar la cita
LEFT
Mostrar la cita
resultados
Mostrar la cita
poco,
Mostrar la cita
otra
Mostrar la cita
en
Mostrar la cita
validar
Mostrar la cita
está
Mostrar la cita
problema,
Mostrar la cita
</td>
Mostrar la cita
igual
Mostrar la cita
#3 transvega
17/01/2006 - 20:04 | Informe spam
Te agradezco mucho la ayuda y por el tiempo que dedicaste para leer mi
mensaje.

Saludos

Jorge Vega


Carlos Sacristán wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida