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

ayuda por favor con insert

Estas en el tema de ayuda por favor con insert en el foro de ASP Clásico en Foros del Web. tengo un script sencillo para insertar datos en una tabla de access, pero no se que es lo que estoy haciendo mal, alguien por favor ...
  #1 (permalink)  
Antiguo 13/12/2005, 13:15
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 4 meses
Puntos: 0
Pregunta ayuda por favor con insert

tengo un script sencillo para insertar datos en una tabla de access, pero no se que es lo que estoy haciendo mal, alguien por favor me podria ayudar, este es el codigo

<%
Dim nombre, apellido, email,empresa, password, data_source, con, sql_insert

Function ChkString(string)
If string = "" Then string = " "
ChkString = Replace(string, "'", "''")
End Function

nombre = ChkString(Request.Form("nombre"))
apellido = ChkString(Request.Form("apellido"))
email = ChkString(Request.Form("email"))
empresa = ChkString(Request.Form("empresa"))
password = ChkString(Request.Form("password"))
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
Server.MapPath("login.mdb")
sql_insert = "Insert Into loginTable (email, empresa, apellido, userName, password) values ('" & email & "','" & empresa & "', '" & apellido & "', '" & userName & "', '" & password & "')"

Set con = Server.CreateObject("ADODB.Connection")
con.Open data_source
con.Execute sql_insert

con.Close
Set con = Nothing
%>
y este es el error que me muestra:
Microsoft JET Database Engine error '80040e14'

Syntax error in INSERT INTO statement.

/login/add.asp, line 26

espero que alguien me pueda ayudar por favor

saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #2 (permalink)  
Antiguo 13/12/2005, 13:51
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
password es una palabra reservada.
cambiale el nombre al campo o encerralo entre corchetes en la sentencia SQL:

sql_insert = "Insert Into loginTable (email, empresa, apellido, userName, [password]) values ('" & email & "','" & empresa & "', '" & apellido & "', '" & userName & "', '" & password & "')"
__________________
...___...
  #3 (permalink)  
Antiguo 13/12/2005, 17:14
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 4 meses
Puntos: 0
no me funciona, ahora me aparece este error
Operation must use an updateable query

saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #4 (permalink)  
Antiguo 13/12/2005, 17:37
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Bueno, pero ahora el error anterior se solucionó.
Verificá los permisos de escritura al archivo MDB y a la carpeta que lo contiene para el usuario anónimo de internet
__________________
...___...
  #5 (permalink)  
Antiguo 13/12/2005, 17:51
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 4 meses
Puntos: 0
lo que hice fue darle permisos al folder donde esta la base, a la base tambien le di permisos de escritura, en el servidor hice la conexion a la base, y quedaria asi el codigo:
<%
Dim nombre, apellido, email,empresa, password, data_source, con, sql_insert

Function ChkString(string)
If string = "" Then string = " "
ChkString = Replace(string, "'", "''")
End Function

nombre = ChkString(Request.Form("nombre"))
apellido = ChkString(Request.Form("apellido"))
email = ChkString(Request.Form("email"))
empresa = ChkString(Request.Form("empresa"))
password = ChkString(Request.Form("password"))


sql_insert = "Insert Into loginTable (email, empresa, apellido, userName, pass) values ('" & email & "','" & empresa & "', '" & apellido & "', '" & nombre & "', '" & password & "')"

Set con = Server.CreateObject("ADODB.Connection")
con.Open "dsn=industrial"
con.Execute sql_insert

con.Close
Set con = Nothing
%>

este es el error que me muestra:
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.


saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #6 (permalink)  
Antiguo 13/12/2005, 17:58
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
http://www.aspfaq.com/show.asp?id=2062
__________________
...___...
  #7 (permalink)  
Antiguo 13/12/2005, 18:14
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 7 meses
Puntos: 3
Te faltan los permisos de filesystem a la mdb....... debes de dar permiso de control total al usuario anonimo IUSR_nombredemaquina..... para hacer eso vas a la MDB, click derecho seleccionas pestaña seguridad y luego ingresas este usuario o bien el grupo al cual pertenece; puede ser grupo Invitados si es XP o everyone ...... luego das click en el grupo o en el usuario y en la parte de abajo veras los permisos... marcas Control Total, das aceptar y listo
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 00:11.