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

ASP Donde esta el error???????

Estas en el tema de ASP Donde esta el error??????? en el foro de ASP Clásico en Foros del Web. Este es un ejemplo de ASPfacil que trato de implementar....Hasta ahora lee la base de datos, y reconoce a un dato que ya existe con ...
  #1 (permalink)  
Antiguo 23/04/2002, 12:11
 
Fecha de Ingreso: enero-2002
Mensajes: 37
Antigüedad: 23 años, 4 meses
Puntos: 0
ASP Donde esta el error???????

Este es un ejemplo de ASPfacil que trato de implementar....Hasta ahora lee la base de datos, y reconoce a un dato que ya existe con el mensajeEl nombre de usuario ya está siendo utilizado Por favor, escoja otro.")
, pero pero no puedo insertar!!!!!
Donde esta el error?????
*************************************


Dim nombre, apellidos, telefono, email, login, password
Dim correcto
Dim oConn, rs, SQL, basedatos,


nombre=Request.Form("nombre")
apellidos=Request.Form("apellidos")
telefono=Request.Form("telefono")
email=Request.Form("email")
login=Request.Form("login")
password=Request.Form("password")

correcto=True
'Comprobamos que no hay campos vacíos
if nombre="" then correcto=False end if
if apellidos="" then correcto=False end if
if telefono="" then correcto=False end if
if email="" then correcto=False end if
if login="" then correcto=False end if
if password="" then correcto=False end if

if correcto then
'Solo si todo está bien, comprobamos con la bd
basedatos = Server.MapPath("ejemplo.mdb")
set oConn=Server.CreateObject("ADODB.Connection&q uot;)
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & basedatos & ";"


SQL="SELECT * FROM Usuarios WHERE (Login='"&login&"');"
'Ejecutamos la consulta
set rs=oConn.Execute(SQL)

'si no nos devuelve vacío es que el login ya está en uso
if not rs.EOF then
Response.Write("El nombre de usuario ya está siendo utilizado. ")
Response.Write("Por favor, escoja otro.")
else
' es vacio, así que le insertamos en la bd
SQL="INSERT INTO Usuarios " & _
"(Login, Password, Nombre, Apellidos, Tlf, Email)"
SQL=SQL & " VALUES ('"&login&"','"&passwor d & _
"','"&nombre&"','"&amp ;apellidos&"','"&telefono&&q uot;','"&email&"');"
oConn2.Execute(SQL)
Response.Write("Gracias por registrarte, "&nombre&")
end if


'Limpiamos objetos
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
else

'El usuario ha metido d
  #2 (permalink)  
Antiguo 23/04/2002, 12:52
 
Fecha de Ingreso: febrero-2002
Mensajes: 157
Antigüedad: 23 años, 2 meses
Puntos: 0
Re: ASP Donde esta el error???????

Parasito; hasta donde yo se, lo que hiciste en el insert, esta bien, pero lo que te puede faltar es el " set rs = oConn2.execute (sql).

SQL="INSERT INTO Usuarios " & _
"(Login, Password, Nombre, Apellidos, Tlf, Email)"
SQL=SQL & " VALUES ('"&login&"','"&passwor d & _
"','"&nombre&"','"&amp ;apellidos&"','"&telefono&&q uot;','"&email&"');"

set rs = oConn2.Execute (SQL)

un saludo
  #3 (permalink)  
Antiguo 23/04/2002, 13:36
 
Fecha de Ingreso: enero-2002
Mensajes: 37
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: ASP Donde esta el error???????

Hola, gracias por responderme, la verdad lo que me indicaste era un error muy evidente lo que pasa es que estaba tratando de crear variables....

Mira EN LA PARTE DE INSERT EN LA BASE DE DATOS, AHI ESTA EL PROBLEMA..


Dim nombre, apellidos, telefono, email, login, password
Dim correcto
Dim oConn, rs, SQL, basedatos

'Recogemos el formulario
nombre=Request.Form("nombre")
apellidos=Request.Form("apellidos")
telefono=Request.Form("telefono")
email=Request.Form("email")
login=Request.Form("login")
password=Request.Form("password")

correcto=True
'Comprobamos que no hay campos vacíos
if nombre="" then correcto=False end if
if apellidos="" then correcto=False end if
if telefono="" then correcto=False end if
if email="" then correcto=False end if
if login="" then correcto=False end if
if password="" then correcto=False end if

if correcto then
'Solo si todo está bien, comprobamos con la bd
basedatos = Server.MapPath("ejemplo.mdb")
set oConn=Server.CreateObject("ADODB.Connection&q uot;)
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & basedatos & ";"


SQL="SELECT * FROM Usuarios WHERE (Login='"&login&"');"
'Ejecutamos la consulta
set rs=oConn.Execute(SQL)

'Si no nos devuelve vacío es que el login ya está en uso
if not rs.EOF then
Response.Write("El nombre de usuario ya está siendo utilizado. ")
Response.Write("Por favor, escoja otro.")
else

' AQUI ES DONDE DEBE ESTAR EL ERROR HASTA AHORA TODO FUNCIONA TRATO DE INSERTAR EN LA BASE DE DATOS....
SQL="INSERT INTO Usuarios (Login, Password, Nombre, Apellidos, Tlf, E-Mail) VALUES ('"&login&"','"&passwor d &"','"&nombre&"','&quot ;&apellidos&"','"&telefono&a mp;"','"&email&"');" Response.Write("Gracias por registrarte.")

end if
'Limpiamos objetos
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
else

'El usuario ha metido datos incorrectos
Response.Write("Datos incorrectos!")
end if

  #4 (permalink)  
Antiguo 23/04/2002, 16:57
Avatar de TomaHawkk  
Fecha de Ingreso: diciembre-2001
Ubicación: España
Mensajes: 422
Antigüedad: 23 años, 5 meses
Puntos: 1
Re: ASP Donde esta el error???????

El problema puede estar en la INSERT, comprueba que esos campos existen y de que tipo son (string,numerico,etc...) para hacer bien la SQL.

O bien esa segunda conexión que utilizas que no has abierto:

oConn2 .Execute(SQL)

Saludos.
  #5 (permalink)  
Antiguo 23/04/2002, 20:57
Avatar de g_susdaniel  
Fecha de Ingreso: mayo-2001
Ubicación: Frente al Monitor :þ
Mensajes: 995
Antigüedad: 24 años
Puntos: 0
Re: ASP Donde esta el error???????

Luego de comprobar los tipo de campos y ver que tu BD,no la tengas como Solo lectura :P

Que error te tira ???



<div align=right><embed src="http://www.jesusdaniel.venezuela.com/jd.swf" height=25 width=200 wmode="transparent"></embed><br>Usuario # 3359 en los foros</div>
  #6 (permalink)  
Antiguo 24/04/2002, 01:29
 
Fecha de Ingreso: junio-2001
Ubicación: Cordoba, Argentina
Mensajes: 190
Antigüedad: 23 años, 11 meses
Puntos: 0
Re: ASP Donde esta el error???????

hola
mira yo creo que el error es mas simple
cuando preguntas si el login ya existe
'si no nos devuelve vacío es que el login ya está en uso
if not rs.EOF then

es en realidad sin el not
o sea seria
'si nos devuelve vacío es que el login ya está en uso
if rs.EOF then

Saludos

Martin Acevedo
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 11:46.