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

Una pavada.

Estas en el tema de Una pavada. en el foro de ASP Clásico en Foros del Web. tengo lo siguiente: <% nom = request.form("nombre") ape = request.form("apellido") edad = request.form("edad") pagina = Request.ServerVariables("Script_Name") strProvider="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\Pruebas") & "\datos.mdb;" ...
  #1 (permalink)  
Antiguo 15/01/2003, 18:15
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 4 meses
Puntos: 1
Una pavada.

tengo lo siguiente:

<%
nom = request.form("nombre")
ape = request.form("apellido")
edad = request.form("edad")

pagina = Request.ServerVariables("Script_Name")

strProvider="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\Pruebas") & "\datos.mdb;"
Set conexion = Server.CreateObject("ADODB.Connection")
conexion.Open strProvider


sql="insert into Tabla1 (nombre, apellido, edad) values ('"&nom&"', '"&ape&"', "&edad&")"
conexion.Execute(sql)
'response.write sql

conexion.close
set conexion = nothing
response.redirect "fo_carga.asp"
%>


y me tira este error:

Provider error '80004005'

Error no especificado

/pruebas/paginaDEcarga.asp, line 10


En la base access tengo un campo id autonumerico. Se debe indicar en el sql el campo id?. Si saco el campo id graba los datos.

Es un error de novato, pero no me doy cuenta.

Saludos. y gracias.
__________________
Carlunchos
  #2 (permalink)  
Antiguo 15/01/2003, 20:53
 
Fecha de Ingreso: mayo-2002
Ubicación: Tijuana
Mensajes: 201
Antigüedad: 22 años, 1 mes
Puntos: 1
Podrias limpiar un poco tu codigo:
strProvider = "Driver = {Microsoft Access Driver (*.mdb)}; DBQ=" & ServerMapPath("Pruebas\datos.mdb")

Por que me imagino que tu BD esta en el folder Pruebas el cual esta en el wwwroot\Pruebas\datos.mbd? Si es el caso tu Server.MapPath busca a partir de tu directorio donde corre el script en este caso por default wwwroot, Mira prueba poniendo tu base de datos en el directorio donde esta tu script que le llama. Asi tendras que hacer ahora:

strProvider = "Driver = {Microsoft Access Driver (*.mdb)}; DBQ=" & ServerMapPath("datos.mdb")

Ahora los campos autonumericos que se usan para indicar la llave primaria de una tabla dada, no necesitan ponerse en las clausulas INSERT, por eso son autonumericos.

Suerte.
  #3 (permalink)  
Antiguo 15/01/2003, 21:25
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
a ver...

Cita:
En la base access tengo un campo id autonumerico. Se debe indicar en el sql el campo id?.
No, no se debe indicar. Por eso es autonumérico. Es el "manejador" de la BD quien se encarga de ello.


Cita:
Si saco el campo id graba los datos
...
Cita:
sql="insert into Tabla1 (nombre, apellido, edad) values ('"&nom&"', '"&ape&"', "&edad&")"

... acá no veo que utilices un campo autonumérico.
Esa SQL es en la cual no pusiste el campo autonumérico o qué? con ella te da error?
  #4 (permalink)  
Antiguo 16/01/2003, 04:57
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 4 meses
Puntos: 1
Asi es estimado Dazuaga, esa sql es con la cual puedo grabar pero antes he sacado el autonumerico de la base.
Si la conexion a la base esta bien, no veo porque el autonumerico no permite grabar.

Paisano, si bien es correcto lo que me apuntas, debo decirte que la conexion es una estandar que utilizo en mis practicas en un servidor de la oficina, por eso tiene esa forma y te agrego que me costo un Peru dar con ella.

Saludos a ambos dos.
__________________
Carlunchos
  #5 (permalink)  
Antiguo 17/01/2003, 19:35
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 4 meses
Puntos: 1
Compañeros de Foro: he solucionado el problema de grabar los datos, era un tema de la base donde habia campos que no permitian long cero.
Realmente era una pavada. Gracias por su tiempo.
__________________
Carlunchos
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 12:24.