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

error codigo

Estas en el tema de error codigo en el foro de ASP Clásico en Foros del Web. Hola! Estoy intentando crear un .asp para loguear a los usuarios y por mas que doy vueltas no encuentro el error en el codigo. El ...
  #1 (permalink)  
Antiguo 18/01/2013, 05:52
 
Fecha de Ingreso: enero-2013
Mensajes: 10
Antigüedad: 11 años, 3 meses
Puntos: 0
error codigo

Hola! Estoy intentando crear un .asp para loguear a los usuarios y por mas que doy vueltas no encuentro el error en el codigo. El código es este:

Código:
<%
  Set oConn = CreateObject("ADODB.Connection")
  oConn.Open "Data Source=" & Server.MapPath("LinkBox.mdb") & ";Provider=Microsoft.Jet.OLEDB.4.0"
  
  SQL = "Select * FROM Users WHERE (UsLog='" & Request.form("UsLog") & "' AND Passwd="
  SQL = SQL & Request.Form(Passwd) & ");"
  Set oRS = oConn.Execute(SQL))

  If oRS.eof then
          Response.Write "<b>El usuario no es correcto</b>"
  else
   Response.Write "<b>Acceso ok</b>"
   End if

  oConn.Close
  Set oRS = Nothing
  Set oConn = Nothing
  %>
El registro usLog es texto y el Passwd es númerico.

Muchas gracias.
  #2 (permalink)  
Antiguo 18/01/2013, 06:12
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: error codigo

Has probado a ejecutar la consulta "a mano" contra la BBDD? Imprimes el valor de SQL por pantalla, lo copias y lo ejecutas contra el servidor, a ver que resultados te da.
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 18/01/2013, 06:22
 
Fecha de Ingreso: enero-2013
Mensajes: 10
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: error codigo

¿Me puedes explicar como hacer eso?

Soy bastante novata
  #4 (permalink)  
Antiguo 22/01/2013, 12:40
Avatar de frecruzu  
Fecha de Ingreso: enero-2013
Mensajes: 4
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: error codigo

Estimada,
debieras describir un poco mas cual es el error que te arroja.
Te puedo decir que para imprimir la Query y despues pegarla directamente en la BD debes poner lo siguiente:

response.write(TU QUERY)
reponse.end

*Debes ponerlo antes que se ejecute osea antes de Set oRS = oConn.Execute(SQL))

Si describes mas tu error quizas te podamos ayudar....
SALUDOS!!!
  #5 (permalink)  
Antiguo 23/01/2013, 21:59
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: error codigo

El error seguro lo tienes en la asignación del password, a menos que siempre se mande y sea numérico te faltaria colocar apóstrofes como lo haces con el usuario:

SQL = "Select * FROM Users WHERE UsLog='" & Request.form("UsLog") & "' AND Passwd='" & Request.Form(Passwd) & "'"

Saludos
  #6 (permalink)  
Antiguo 24/01/2013, 01:49
 
Fecha de Ingreso: enero-2013
Mensajes: 10
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: error codigo

Muchas gracias por la respuesta. Despues de darle muchas muchas vueltas era un simple error de sintaxis
El error estaba aqui:

SQL = "Select * FROM Users WHERE UsLog='" & Request.form("UsLog") & "' AND Passwd='" & Request.Form("Passwd") & "'"

No le puse comillas a Passwd...
  #7 (permalink)  
Antiguo 24/01/2013, 02:13
 
Fecha de Ingreso: enero-2013
Mensajes: 10
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: error codigo

Me gustaria saber si me podriais ayudar a encontrar otro error que tengo en el código y que no consigo sacar. El problema que tengo es que soy novata en esto y me es dificil encontrar fallos de sintaxis porque no estoy acostumbrada a este código. Le doy mil vueltas a las cosas y luego al final son unas simples comillas y la verdad que pierdo mucho tiempo para que luego sea solo eso y me desmotivo.

Me gustaria saber si le podrias echar un simple vistazo por encima. Me harias un grandisimo favor. Si no no pasa nada, pero os expongo mi tema a ver si me puedes ayudar.

A ver lo primero os cuento que es lo que tengo que hacer. Tengo una base de datos con las tablas
ENLACES: CodEnlace, Titulo, dirURL, Descripcion
PUBLICACION: CodPub, CodUsers, CodEnlace, Publico
USERS: CodUsers,Nombre, Apellidos, UsLog, Passwd

Las relaciones que tengo son las siguientes:
CodEnlace.Publicacion=CodEnlace.Enlace
CodUser.Publicacion=CodUser.Users

Lo que quiero hacer es que el usuario mediante un formulario envie un Enlace (Titulo, Descripcion, dirURL de ENLACES) diciendo si es publico o privado (Publico de PUBLICACION) y que luego se muestre por pantalla los mensajes que no son publicos del usuario en una tabla en la que aparezca (Titulo, descripcion y dirURL de ENLACES. Y el nombre del usuario que ha subido ese enlace: usLog de USERS)


Yo he probado con el siguiente codigo:

Código:
SQL="SELECT Enlaces.Titulo, Enlaces.Descripcion, Enlaces.dirURL, Users.CodUsers, Users.Nombre,"
 SQL= SQL & " Users.Apellidos FROM Users INNER JOIN (Enlaces INNER JOIN Publicacion ON "
  SQL= SQL & "Enlaces.CodEnlace = Publicacion.CodEnlace) ON Users.CodUsers = Publicacion.CodUsers "
SQL= SQL & "WHERE (((Publicacion.Publico)=True));"
Le paso la tabla:
Código:
   <table>
    <tr>
    

      <th class="textotabla">Descripcion</th>
      
       <th class="textotabla">Titulo</th>
       
       <th class="textotabla">URL</th>
       
       <th class="textotabla">Usuario</th>
    </tr><% Do Until oRS.EOF %>

    <tr>
    

      <td><% = oRS("Descripcion") %></td>
      
      <td><% = oRS("Titulo") %></td>
      
       <td><% = oRS("dirURL") %></td>
       
       <td><% = oRS("usLog") %></td>
    </tr><% oRS.MoveNext
    Loop %>
  </table>
Me sale el error:

Código:
ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/alumnos/dsiw1213/irene.albentosa/WebDreamweaver/publicaciones.asp, line 128
Muchisimas gracias
  #8 (permalink)  
Antiguo 24/01/2013, 05:57
 
Fecha de Ingreso: enero-2013
Mensajes: 10
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: error codigo

Vale, pues despues de dar muchas vueltas he conseguido dar con el error. Era que no habia puesto Users.usLog y por eso no encontraba ese objeto.

Pero ahora he intentado hacer los mismo pero para que se muestren solo los enlaces del usuario conectado (tanto publicos como privados) y me da error. He copiado el mismo codigo simplemente cambiando las condiciones.
Session("usuario") es la variable que le paso cuando se loguea el usuario. Lo tengo puesto en el login así:

Código:
session("usuario")=Request.form("UsLog")
Y aqui el codigo que es el mismo que el que me funciona pero simplemente cambiando la condición, asi que supongo que la condición no estará bien puesta. Aunque yo creo que es así..

Código:
SQL=" SELECT Enlaces.Titulo, Enlaces.Descripcion, Enlaces.dirURL, Users.UsLog,"
  SQL= SQL & "Users.CodUsers, Users.Nombre, Users.Apellidos"
SQL= SQL & "FROM Users INNER JOIN (Enlaces INNER JOIN Publicacion"
 SQL= SQL & "ON Enlaces.CodEnlace = Publicacion.CodEnlace) ON Users.CodUsers = Publicacion.CodUsers"
SQL= SQL & "WHERE (((Users.UsLog)=session('usuario'));"
El error que me da es el siguiente:

Código:
error '80004005'
/alumnos/dsiw1213/irene.albentosa/WebDreamweaver/enlacesprivados.asp, line 21
Muchas gracias.

Etiquetas: asp, request, server
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 20:15.