error \'80004005\'

Alex
14 de Octubre del 2005
Hola, hace poquito que estoy en el mundo del ASP, estoy haciendo una web con ASP, y cuando ejecuto la consulta de Insert Into para añadir un registro a la base de datos hecha en acces me salta un error \'80004005\' no se porque pasa esto, la explicación del error es esto:
-----------------------------
Microsoft OLE DB Provider for ODBC Drivers error \'80004005\'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

/procesa.asp, line 11
----------------------------------
en la linea 11 es donde ejecuta la consulta, y la consulta esta de la siguiente manera:

strSQL = "insert into logers (login,pass) values (\'" & Request.Form("usuari") & "\',\'" & Request.Form("clau") & "\');"

--------------

yo creo que esta bien, pero en serio no paro de darle vueltas y nose porque puede pasa, si alguien me puediera ayudar, MUCHAS MUCHAS MUCHAS GRACIAS.

Enhorabuena, por el Foro y la página.

Alex.

Ismael
14 de Octubre del 2005
Hola, yo creo q la linea de SQL debería ser más bien:


strSQL = "insert into logers (login,pass) values " & Request.Form("usuari") & ", " & Request.Form("clau") & ";"

de todas maneras yo para eso uso siempre lo siguiente:


......
set con = server.CreateObject("ADODB.Connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & server.MapPath("data/users.mdb")
set rs = server.CreateObject("ADODB.Recordset")
strsql = "SELECT login, pass FROM logers"

tabla.open strsql,con,1,2

tabla.addnew
tabla.Fields("login") = Request.Form("usuari")
rabla.Fields("pass") = Request.Form("clau")
tabla.update

tabla.close
con.close

.........

espero q te sirva de ayuda

Alex
14 de Octubre del 2005
Hola Ismael

GRACIAS POR TU AYUDA; en serio me ha ido muy bien, pero no entiendo en el sistema que tu me dices, me da un error porque me pide que falta, un objeto, osea yo tengo:

......
Dim oConn,tabla,con,rs,strsql

set con = server.CreateObject("ADODB.Connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & server.MapPath("mdb-database/datos.mdb")
set rs = server.CreateObject("ADODB.Recordset")

strsql = "SELECT login, pass FROM logers"

tabla.open strsql,con

tabla.addnew
tabla.Fields("login") = Request.Form("usuari")
tabla.Fields("pass") = Request.Form("clau")
tabla.update

tabla.close
con.close
Response.Redirect("index.asp")
set con = nothing

...........

me da errora la hora de abrir la tabla, en el tabla.open ¿?¿?¿ porque puede ser?

GRACIAS

ikari
14 de Octubre del 2005
vamos a elaborar esto un poco mejor, copia lo siguiente:

......
<%
Dim tabla,con,rs,sql,usuario,contrasena

usuario = Trim(request.form("usuari")) 'variable q guarda el valor de usuari
contrasena = Trim(request.form("clau")) ' varibble q guarda el vlaro de clau



if usuario = "" AND contrasena <> "" then
%>
<form action='prueba.asp' method='post'>
USUARIO:
<input name='usuari' type='text' size='15' value=''><br>
CONTRASEÑA:
<input name='clau' type='password' size='15' value=''><br>
<input type='submit' >
<form>
<%
elseif usuario <> "" AND contrasena = "" then
%>
<form action='prueba.asp' method='post'>
USUARIO:
<input name='usuari' type='text' size='15' value='<%=usuario %>'><br>
CONTRASEÑA:
<input name='clau' type='password' size='15' value=''><br>
<input type='submit' >
<form>
<%
elseif usuario = "" AND contrasena = "" then
%>
<form action='prueba.asp' method='post'>
USUARIO:
<input name='usuari' type='text' size='15' value=''><br>
CONTRASEÑA:
<input name='clau' type='password' size='15' value=''><br>
<input type='submit' >
<form>
<%
else


set con = server.CreateObject("ADODB.Connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & server.MapPath("mdb-database/datos.mdb")
set rs = server.CreateObject("ADODB.Recordset")
sql = "SELECT login, pass FROM logers"
rs.open sql,con,1,2


rs.addnew
rs.Fields("login") = usuario
rs.Fields("pass") = contrasena
rs.update

rs.close
con.close
Response.Redirect("index.asp") 'te redirige a esta página si todo ha salido bien
set con = nothing

end if


%>
...........

te explico un poco, el error estaba es q estabas usando "tabla" en vez de "rs", fue un error mío no te precopes, respecto a lo demás q le he puesto al principio es para que si alguien intenta acceder a esa página sin haber rellenado el formulario le obligue a hacerlo.

Yo le dao a la página el nombre de "prueba.asp" pero tú ponle el q quieras.

Ya me contarás si te ha ido bien, nos vemos!