Programación Web y Scripting > ASP
No Puedo Actualizar Un Registro
(1/1)
mateamargo:
Este es el código de mi página ASP para actualizar el estado de un contacto.
--- Código: Text --- <!-- #INCLUDE FILE="conexion.asp" --> <%dim contdim query set cont = Request.QueryString("cont")set rs_borrar = Server.CreateObject("ADODB.Recordset") query = "select * from contactos where cnt_id = " & cont rs_borrar.Open query, cn_string, 3, 3rs_borrar("cnt_borrado") = truers_borrar.update%> Y el error que me muestra es el siguiente:
--- Citar ---ADODB.Recordset (0x800A0CB3)
El Recordset actual no admite actualizaciones. Puede ser una limitación del proveedor o del tipo de bloqueo seleccionado.
/digigenda/borrar.asp, línea 15
--- Fin de la cita ---
¿Alguien sabe qué puede ser?
ROBER.29:
Hola,
El problema lo tienes en el tipo de apertura del recordset. De todas formas te explico otra forma para que hagas lo que quieres.
--- Código: Text --- <!-- #INCLUDE FILE="conexion.asp" --> <%dim contdim query set cont = Request.QueryString("cont")set cnn = Server.CreateObject("ADODB.Connection") cnn.Open cn_string If Request.QueryString("cont") <> "" AND IsNumeric(Request.QueryString("cont")) Then query = "UPDATE contactos SET cnt_borrado = 1" query = query & " WHERE cnt_id = " & CInt(cont) cnn.Execute(query)End If cnn.Close%>
El campo cnt_borrado supongo que es de tipo bit y por eso le introduzco un 1 que equivale a True, y el campo cnt_id supongo que es de tipo numérico por eso convierto el valor de queryString a entero y antes de nada valido que no este vació y sea de tipo entero para que luego la consulta de actualización de SQL no de error. en el caso de que el campo cnt_id no sea de tipo numérico deberías quitar la validación de que sea numérico (el "AND IsNumeric(Request.QueryString("cont"))").
Espero que te sirva.
Un saludo.
oonai:
Este codigo lo hace ok
Set conectar = Server.CreateObject("ADODB.Connection")
conectar.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("basededatos.mdb"))
Set rs=Server.createobject("ADODB.Recordset")
rs.ActiveConnection = conectar
rs.Source = "solicitud"
rs.LockType = 2 'Importante, aqui le das permiso a la BD para grabar
rs.open
rs("valor")="lo que sea"
rs.update
rs.close
conectar.close
Set rs = nothing
Set conectar = nothing
%>
Espero que te sirva .. OONAI
Navegación
Ir a la versión completa