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

ayuda con este codigo urgente

Estas en el tema de ayuda con este codigo urgente en el foro de ASP Clásico en Foros del Web. Tengo el siguiente codigo, y me sale el siguiente error: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][Controlador ODBC Microsoft Access] Error de ...
  #1 (permalink)  
Antiguo 24/02/2002, 21:33
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
ayuda con este codigo urgente

Tengo el siguiente codigo, y me sale el siguiente error:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis en la instrucción INSERT INTO.

Que pasa?
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%

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

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

Correcto=True
'comprobamos que no hay campos vacios
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

'si todo esta bien, comprobamos con la bd

set oConn=Server.CreateObject("ADODB.Connection&q uot;)
oConn.Open "base"
SQL="SELECT * FROM datos where (Login='"&Login&"');"
'éjecutamos la consulta
set rs=oConn.Execute(SQL)

'si no nos devuelve vacio es que el login ya esta en uso
if not rs.EOF then
Response.Write("El nombre de usuario ya esta siendo utilizado")
Response.Write("Por favor escoja otro")
else
'es vacio, asi que lo insertamos en la bd

SQL="INSERT INTO datos " & _
"(Login, Password, Nombre, Apellidos, Tlf, E-mail)"
SQL=SQL & " VALUES ('"&login&"', '"&password & _
"', '"&nombre&"','"&apellid os&"','"&telefono&"','& quot;&email&"');"
oConn.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 datos incorrectos
' Response.Write("Datos incorrectos")

'end if

%
  #2 (permalink)  
Antiguo 25/02/2002, 03:59
 
Fecha de Ingreso: febrero-2002
Mensajes: 80
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: ayuda con este codigo urgente

SQL="INSERT INTO datos (Login,Password,Nombre,Apellidos,Tlf,E-mail)"
SQL=SQL&" VALUES ('"&login&"','"&passwor d&"','"&nombre&"','&quo t;&apellidos&'",'"&telefono& amp;"','"&email&"')"
  #3 (permalink)  
Antiguo 25/02/2002, 04:05
 
Fecha de Ingreso: febrero-2002
Mensajes: 8
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: ayuda con este codigo urgente

Al hacer el INSERT realmente no sabes si todos los campos que insertas tienen un valor, por lo que te puede devolver el error....

Intenta en lugar de ejecutar el Query a escribir la sentencia SQL con <%response.write SQL%>, asi miras realmente lo que esta intentado insertar.

Debe escribirte la cadena que has escrito, esto es "INSERT INTO datos (login ......)".
Prueba a ver esa cadena, y nos comentas.

Salu2!!
;)
  #4 (permalink)  
Antiguo 25/02/2002, 04:06
 
Fecha de Ingreso: febrero-2002
Ubicación: Alicante España
Mensajes: 30
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: ayuda con este codigo urgente

Hola

Comentario, a mi me ha generado problemas los guiones con en instrucciones SQL, es decir (E-mail), es mejor utilizar E_mail o Email

Saludos
  #5 (permalink)  
Antiguo 25/02/2002, 11:21
Avatar de Antonito  
Fecha de Ingreso: noviembre-2001
Ubicación: en la red
Mensajes: 446
Antigüedad: 22 años, 6 meses
Puntos: 3
Re: ayuda con este codigo urgente

No se porque te puede dar el error, pero mira a ver si es por partirlo a mi a veces me da problemas.

A propósito no compruebas la variable correcto, a ver si se te va a pasar.

salutti
  #6 (permalink)  
Antiguo 28/02/2002, 01:55
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 4 meses
Puntos: 50
Re: ayuda con este codigo urgente

Al parecer te sale ese error porque no haz hecho referencia a la conexión.. tu tienes:
Código:
 
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "base"
SQL="SELECT * FROM datos where (Login='"&Login&"');"
'éjecutamos la consulta
set rs=oConn.Execute(SQL)
Pero en que momento abres los DSN, o la referencia al objeto OLEDB.
Necesitarias:
Código:
set rs = Server.CreateObject("ADODB.Recordset")
rs.open strSQL, "DSN=Tu base" %>
o en su defecto:
Código:
openstr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("TuBase")
set objconn = server.CreateObject("adodb.connection")
objconn.Open openstr
<marquee behavior=alternate> <font color=blue size=4>
RootK[/CODE] </marquee>
<font color=red size=3>
Nada es imposible para una mente que quiere
[/CODE]
  #7 (permalink)  
Antiguo 28/02/2002, 01:55
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 4 meses
Puntos: 50
Re: ayuda con este codigo urgente

Al parecer te sale ese error porque no haz hecho referencia a la conexión.. tu tienes:
Código:
 
set oConn=Server.CreateObject(&quot;ADODB.Connection&quot;)
oConn.Open &quot;base&quot;
SQL=&quot;SELECT * FROM datos where (Login='&quot;&amp;Login&amp;&quot;');&quot;
'éjecutamos la consulta
set rs=oConn.Execute(SQL)
Pero en que momento abres los DSN, o la referencia al objeto OLEDB.
Necesitarias:
Código:
set rs = Server.CreateObject(&quot;ADODB.Recordset&quot;)
rs.open strSQL, &quot;DSN=Tu base&quot; %&gt;
o en su defecto:
Código:
openstr = &quot;driver={Microsoft Access Driver (*.mdb)};dbq=&quot; &amp; Server.MapPath(&quot;TuBase&quot;)
set objconn = server.CreateObject(&quot;adodb.connection&quot;)
objconn.Open openstr
Saludos
<marquee behavior=alternate> <font color=blue size=4>
RootK[/CODE] </marquee>
<font color=red size=3>
Nada es imposible para una mente que quiere
[/CODE]
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 21:24.