| Usuario |
Problema con Base de Datos |
Desconocido
|
| Enviado - 24/7/2002 |
| |
Tengo un problemita con mi pagina ASP, las consultas sql trabajan bien solo si es de lectura pero si debo ingresar un registro o modificarlo me sale el siguiente error en mi navegador...
Tipo de error:
Microsoft JET Database Engine (0x80004005)
La operación debe usar una consulta actualizable.
/tuexamen/ingresar.asp, línea 21
******* Y mi linea es la siguiente****
<%
Dim nick, nombre, apellido, email, clave, sexo
nick = Trim(Request.Form("nick"))
nombre = Trim(Request.Form("nombre"))
apellido = Trim(Request.Form("apellido"))
email = Trim(Request.Form("email"))
clave = Trim(Request.Form("clave1"))
sexo = Trim(Request.Form("sexo"))
sql = "SELECT * FROM usuarios WHERE nick='"+nick+"'"
Recordset1.Open sql, MM_conex_STRING
if Recordset1.EOF then
sql1 = "INSERT INTO usuarios (nick, Nombre, Apellido, email, clave, sexo) VALUES ('"+nick+"','"+nombre+"','"+apellido+"','"+email+"','"+clave+"','"+sexo+"')"
set recordset1 = MM_conex_STRING.execute(sql1)
response.Write("Usuario Ingresado con Éxito")
else
response.Redirect("registro.asp")
End if
%>
Que puedo hacer para corregir este error??
Gracias de antemano.. |
| |
|
agiossa
7 Mensaje(s)
|
| Enviado - 31/7/2002 |
| |
Pedile a tu proveedor de hosting (si no lo podés hacer directamente vos) que de permisos de escritura y modificación sobre la .MDB
Saludos,
Antonio F. Giossa
Ingeniero de Sistemas |
| |
|
ivelazquez
3 Mensaje(s)
|
| Enviado - 24/9/2002 |
| |
Hola, espero que ya tengas creada la conexion a tu bd, si no, aqui te va un ejemplo de como seria tu actualizacion:
<%
dim con, rs
Dim nick, nombre, apellido, email, clave, sexo
'recojes los valores del formulario
nick = Trim(Request.Form("nick"))
nombre = Trim(Request.Form("nombre"))
apellido = Trim(Request.Form("apellido"))
email = Trim(Request.Form("email"))
clave = Trim(Request.Form("clave1"))
sexo = Trim(Request.Form("sexo"))
' Creas la conexión a la base de datos sin DSN, es la que a mi me gusta =)
set con = Server.CreateObject("ADODB.Connection")
'le pasamos el driver a utilizar y la ubicacion de la base, recuerda cambiar tanto las palabras directorio como el nombre de la base
strcon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("directorio/tuBase.mdb")
'y le decimos que abra la conexion
con.Open strcon
'creamos un recordset
txtsql = "Select * from usuarios"
set rs = Con.execute (txtsql)
'ahora formamos nuestra sentencia sql para el insert
insertar = "INSERT into usuarios (nick, Nombre, Apellido, email, clave, sexo) values ('"& nick &"','"& nombre &"','"& apellido &"','"& email &"','"& clave &"','"& sexo &"')"
'por ultimo executamos la sentencia para ingresar el registro
Con.execute (insertar)
%>
Te recuerdo que este ejemplo te sirve para insertar nuevos registros a tu base de datos, y si quieres actualizar solo tendrias que hacer unas pequeñas modificaciones, ademas note que tu sentencia de update esta mal, ya que estas poniendo un signo de +, en lugar de un &.
Saludos desde Monterrey, Mexico
Ignacio Velazquez |
| |
|
|
|