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

Problema con sentencia

Estas en el tema de Problema con sentencia en el foro de ASP Clásico en Foros del Web. Bueno gente tengo este código, lo necesito para actualizar la siguiente tabla Noticias de la base de datos., cuyos campos Resumen y Cuerpo son de ...
  #1 (permalink)  
Antiguo 03/06/2003, 20:23
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 5 meses
Puntos: 22
Problema con sentencia

Bueno gente tengo este código, lo necesito para actualizar la siguiente tabla Noticias de la base de datos., cuyos campos Resumen y Cuerpo son de texto y Memo respectivamente.

_________________________________________

<%
Dim dbc, strConn
Dim strSQL, rs
Dim Buscar

Sub OpenDB()
Dim BD
BD = Server.MapPath("japay.mdb")
strConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & BD & ";"
Set dbc = Server.CreateObject("ADODB.Connection")
dbc.open strConn
Set rs = Server.CreateObject ("ADODB.Recordset")
End Sub

Sub CloseDB()
Set rs = Nothing
dbc.Close
Set dbc = Nothing
End Sub

'Declaro variables

DIM resumen, cuerpo, ID

'recibo los datos desde el formulario y se los asigno a cada variable

resumen = request.form ("resumen")
cuerpo = request.form ("cuerpo")
ID = request.form ("ID")


'abro la base de datos

Call OpenDB()
strSQL= "SELECT * FROM Noticias ORDER BY ID;"

'creo el Record Set
set rs = dbc.Execute(strSQL)

'Me muevo al registro cuyos campos quiero modificar
rs.move(ID)


strSQL="insert into noticias (Resumen, Cuerpo) "
strSQL = strSQL & "VALUES ('" & resumen & "', '" & cuerpo & "');"

' Esta es la línea 28

dbc.Execute(strSQL)

'Cierro la base de datos

Call CloseDB()
%>

________________________________

En la sentencia dbc.Execute(strSQL) me carca el siguiente error el navegador

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Controlador ODBC Microsoft Access] La operación debe usar una consulta actualizable.

/propuestas/japay/guardar.asp, line 28

A que creen que se deba?
  #2 (permalink)  
Antiguo 04/06/2003, 02:05
Avatar de josego  
Fecha de Ingreso: enero-2002
Mensajes: 126
Antigüedad: 22 años, 5 meses
Puntos: 0
Es UPDATE

Quizá no esté muy claro con lo que escribiste pero si deseas ACTUALIZAR lo que debes realizar es una consulta del tipo:
"UPDATE tabla SET campo1 = valor1, campo2 = valor2, ... WHERE ´campo_condicion = valor_condicion"

Espero te sirva.

Salu2

Jo
__________________
José G. Díaz Unda
Analista de Sistemas
  #3 (permalink)  
Antiguo 04/06/2003, 10:11
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 5 meses
Puntos: 22
GRacias josego, ya lo probé, el problema parece ser que tengo mal configurado el cursor, por lo que leí tengo que activar el tipo
AdOpenDynamic pero no se como, o sea lo intente hacer asi:

rs.CursorType=AdOpenDynamic

pero me dice
_______________________

ADODB.Recordset error '800a0e79'

La operación no está permitida si el objeto está abierto.
___________________________

Que podra ser?
  #4 (permalink)  
Antiguo 04/06/2003, 10:44
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Sobre el error original:

http://www.aspfaq.com/show.asp?id=2009

Casi siempre este error aparece cuando no tienes los permisos de lectura/escritura en el folder que contiene la DB


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 04/06/2003, 17:52
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 5 meses
Puntos: 22
Gracias

El problema era mi "$·%&/()= servidor desde ayer estaban detenidos varios servicios y no tenia los permisos, grácias u_goldman y josego, me salvaron la vida.

Saludos.
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 00:17.