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

Pq no puedo insertar tupla?

Estas en el tema de Pq no puedo insertar tupla? en el foro de ASP Clásico en Foros del Web. Ando desesperado. Podría alguien darme una idea de pq me da error la siguiente inserción en la base de datos. Creo que lo hago todo ...
  #1 (permalink)  
Antiguo 25/11/2003, 06:45
 
Fecha de Ingreso: junio-2003
Mensajes: 318
Antigüedad: 21 años, 10 meses
Puntos: 0
Pq no puedo insertar tupla?

Ando desesperado. Podría alguien darme una idea de pq me da error la siguiente inserción en la base de datos.
Creo que lo hago todo correcto.
<%
Dim conexion, resultado, files, consulta

Set conexion = Server.CreateObject("ADODB.Connection")
conexion.Mode = adModeWrite
conexion.CursorLocation = adUseClient
files = server.MapPath("aplicacion.mdb")
conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & files & ";Persist Security Info=False"
consulta = "insert into Usuario (dni/cif, nombre) values ('20012122','Juanjo')"

set resultado = conexion.Execute(consulta, ,adCmdText + adExecuteNoRecords)

conexion.Close
set conexion = nothing
%>

He comprobado la Base de Datos y no hay ningún error de tipo ni nada por el estilo. ¿Alguien tiene alguna idea?

Microsoft JET Database Engine error '80040e14'

Error de sintaxis en la instrucción INSERT INTO.

/pruebas/introducir_control.asp, line 53
  #2 (permalink)  
Antiguo 25/11/2003, 09:33
ACHAVARRIA
Invitado
 
Mensajes: n/a
Puntos:
Revise tu codigo y observe tresas que talvés te están afectando:

1.

consulta = "insert into Usuario (dni/cif, nombre) values ('20012122','Juanjo')"

'20012122' = si este valor es numerico no necesita " ' " y talves estas tratando de insertar un valor caracter a un campo numerico de Access, recuerda que cuando un valor que posee numeros por estar en " ' " este se convierte en caracter aunque posea numeros.

2.

set resultado = conexion.Execute(consulta, ,adCmdText + adExecuteNoRecords)

En la anterior sentencia solo es necesario lo siguiente:

set resultado = conexion.Execute(consulta)

El resto es "paja" o basura.

3.

Set conexion = Server.CreateObject("ADODB.Connection")
conexion.Mode = adModeWrite
conexion.CursorLocation = adUseClient
files = server.MapPath("aplicacion.mdb")
conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & files & ";Persist Security Info=False"

En la anterior consulta solo necesitas lo siguiente:

Set conexion = Server.CreateObject("ADODB.Connection")

files = server.MapPath("aplicacion.mdb")

conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & files & ";Persist Security Info=False"
  #3 (permalink)  
Antiguo 25/11/2003, 10:18
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
si no te funciona nada de lo que ACHAVARRIA comenta, intentá poniendo el campo "dni/cif" entre corchetes:


consulta = "insert into Usuario ([dni/cif], nombre) values ('20012122','Juanjo')"
__________________
...___...
  #4 (permalink)  
Antiguo 25/11/2003, 11:59
 
Fecha de Ingreso: junio-2003
Mensajes: 318
Antigüedad: 21 años, 10 meses
Puntos: 0
Ahora mi problema es:

Microsoft JET Database Engine error '80004005'

La operación debe usar una consulta actualizable.

Estoy desesperao
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 03:17.