Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ADO
 Me estoy volviendo loco!
 Foro Bloqueado  Tema Bloqueado


Autor Temas
lethjo
New Member

España
86 Posts
Mensajes - 30 Sep 2002 :  17:14:56  Ver Perfil  Enviar Email  Visit lethjo's Homepage
No se que pasa con esta sentencia SQL, pero al parecer "Provoca conflicto"(Error=La aplicación está usando argumentos incorrectos, o están fuera del intervalo permitido, o entran en conflicto con otros.)
El código es el siguiente, por favor, yo no veo el error, o no me lo imagino... a ver si tu lo haces:
'Solo si todo está bien, comprobamos con la bd
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Dat04823Base"
set rs=oConn.Recordset(SQL)

SQL="SELECT * FROM Clientes WHERE usuario='"&usuario&"' AND password='"&password&"';"
if not rs.eof then
'Verificamos
if rs("usuario")=usuario and rs("password")=password then
'Limpiamos objetos
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
session("autorizacion")=1
Response.redirect("tienda/default.asp")
end if
'Limpiamos objetos
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
Response.redirect("identifica.html")


Gracias por tu tiempo. Lethjo.


8-)

caparicio
Junior Member

Chile
384 Posts
Posted - 30 Sep 2002 :  17:42:06  Ver perfil  Enviar e-mail  Visit caparicio's Homepage
Hola : dos cosas
1.- En tu variable SQL, donde tienes la consulta elimina el punto y como que colocastes al final
2.- cuando pregunta por el usuario y password, luego cierras tu recordset y tu coneccion y las liberas de memoria, luego abajo haces lo mismo, deja solo las que están despues del end if

Un saludo desde Chile,

Carlos Aparicio
caparicio@embonor.clInicio Pagina

lethjo
New Member

España
86 Posts
Posted - 30 Sep 2002 :  21:15:45  Ver perfil  Enviar e-mail  Visit lethjo's Homepage
Eres mi salvador Carlos.
Como sigas así, ayudandome tanto, coy a terminar por contratarte en mi empresilla.

Gracias por todo.

Hasta pronto. (aunque prefiero que no...)

8-)Inicio Pagina

lethjo
New Member

España
86 Posts
Posted - 30 Sep 2002 :  22:32:42  Ver perfil  Enviar e-mail  Visit lethjo's Homepage
Me temo que ha fallado algo...
sigue sin funcionar, aun quitandole el punto y coma...

Joer...

Se te ocurre que otra cosa puede ser?


8-)Inicio Pagina

caparicio
Junior Member

Chile
384 Posts
Posted - 30 Sep 2002 :  22:52:11  Ver perfil  Enviar e-mail  Visit caparicio's Homepage
Admás hay otra cosa...
mira tu haces un
set rs=oConn.Recordset(SQL)
antes de asignar tu variable SQL=".....

primero debes asiganr el valor del select a tu variable SQL y luego asignar el puntero


Un saludo desde Chile,

Carlos Aparicio
caparicio@embonor.clInicio Pagina

lethjo
New Member

España
86 Posts
Posted - 01 Oct 2002 :  15:49:30  Ver perfil  Enviar e-mail  Visit lethjo's Homepage
Lo he cambiado, y sigue sin funcionar. el error es el mismo. Cita la línea en la que se llama al Recordset(SQL):
set rs=oConn.Recordset(SQL)

Pufff... no se que diablos pasa.

Gracias por tu tiempo. Lethjo.


8-)Inicio Pagina

caparicio
Junior Member

Chile
384 Posts
Posted - 01 Oct 2002 :  15:55:12  Ver perfil  Enviar e-mail  Visit caparicio's Homepage
Puedes colocar el error y el nuevo código quiero verlo como está ahora, con los cambios que hemos hecho

Un saludo desde Chile,

Carlos Aparicio
caparicio@embonor.clInicio Pagina

lethjo
New Member

España
86 Posts
Posted - 01 Oct 2002 :  18:14:47  Ver perfil  Enviar e-mail  Visit lethjo's Homepage
El código:
----------------------------------------
'Solo si todo está bien, comprobamos con la bd
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Dat04823Base"
SQL="SELECT * FROM Clientes WHERE usuario='"&usuario&"' AND password='"&password&"'"

set rs=oConn.Recordset(SQL)
'Verificamos
if rs("usuario")=usuario and rs("password")=password then
Response.redirect("tienda/default.asp")
end if
if not rs.eof then

'Limpiamos objetos
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
Response.redirect("identifica.html")
end if
--------------------------------------

El error:
--------------------------------------
ADODB.Connection error '800a0bb9'

La aplicación está usando argumentos incorrectos, o están fuera del intervalo permitido, o entran en conflicto con otros.
------------------------------------
Linea de error:
---------------------------
set rs=oConn.Recordset(SQL)
---------------------------

Gracias por tu tiempo, Carlos.
Lethjo.

8-)Inicio Pagina

caparicio
Junior Member

Chile
384 Posts
Posted - 01 Oct 2002 :  18:54:59  Ver perfil  Enviar e-mail  Visit caparicio's Homepage
prueba cambiando
set rs=oConn.Recordset(SQL)
por
set rs=oConn.execute(SQL)
pero antes de de esa linea escribe
response.write SQL
con esto haremos debug para ver si lo que esta en la variable con la consulta es la que corresponde

Un saludo desde Chile,

Carlos Aparicio
caparicio@embonor.clInicio Pagina

buho_nero
Moderator

España
1316 Posts
Posted - 02 Oct 2002 :  09:38:02  Ver perfil  Enviar e-mail
Yo no plantearía el problema desde ese punto de vista. Estás dejando que ASP decida el tipo de objeto que será tu "rs", como poco eso es arriesgado (posible, pero arriesgado).

set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Dat04823Base"
set rs = Server.CreateObject("ADODB.Recordset")
SQL="SELECT * FROM Clientes WHERE usuario='"&usuario&"' AND password='"&password&"'"

rs.open oConn, SQL

...


Si con esto sigue sin funcionar, comprueba tu cadena SQL, quizá tendgas algún tipo equivocado en tus variables.


Inicio Pagina

lethjo
New Member

España
86 Posts
Posted - 02 Oct 2002 :  16:16:06  Ver perfil  Enviar e-mail  Visit lethjo's Homepage
El error sigue siendo el mismo:
-------------------------------------
La aplicación está usando argumentos incorrectos, o están fuera del intervalo permitido, o entran en conflicto con otros.
--------------------------------------
Y el código, ha quedado de la siguiente manera:
--------------------------------------
'Solo si todo está bien, comprobamos con la bd
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Data04823Base"
set rs = Server.CreateObject("ADODB.Recordset")
SQL="SELECT * FROM Clientes WHERE usuario='"&usuario&"' AND password='"&password&"'"

rs.open oConn, SQL
'Verificamos
if rs("usuario")=usuario and rs("password")=password then
Response.redirect("tienda/default.html")
end if
if not rs.eof then
Response.redirect("identifica.html")
end if

8-)Inicio Pagina

caparicio
Junior Member

Chile
384 Posts
Posted - 02 Oct 2002 :  17:16:55  Ver perfil  Enviar e-mail  Visit caparicio's Homepage
Hicistes esto????

response.write SQL
con esto haremos debug para ver si lo que esta en la variable con la consulta es la que corresponde

Un saludo desde Chile,

Carlos Aparicio
caparicio@embonor.clInicio Pagina

buho_nero
Moderator

España
1316 Posts
Posted - 02 Oct 2002 :  17:20:46  Ver perfil  Enviar e-mail
Lo siento, culpa mia, te mandé los parámetros al revés:

rs.open SQL , oConn

Es el problema de andar con varios lenguajes a la vez, pierdes lo que antes hacías de forma mecánica.


Inicio Pagina

lethjo
New Member

España
86 Posts
Posted - 02 Oct 2002 :  17:23:10  Ver perfil  Enviar e-mail  Visit lethjo's Homepage
Je je...
Primero, se me había olvidado el DEBUG

y luego, el orden de SQL y conn
...

Ahora YA FUNCIONAAAAAAAAAAAAAAAAAAAAAAAAAA
¡Que alegría!.

Un saludo, de un hombre muy agradecido.

Lethjo.

8-)Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar