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

Problema al actualizar datos

Estas en el tema de Problema al actualizar datos en el foro de ASP Clásico en Foros del Web. Hola a todos: Me gustaria que me ayudaseis con mi problema. He estado mirando y no he encontrado nada que de solución a mis problemas. ...
  #1 (permalink)  
Antiguo 29/03/2011, 02:23
 
Fecha de Ingreso: marzo-2011
Ubicación: zarautz
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Problema al actualizar datos

Hola a todos:
Me gustaria que me ayudaseis con mi problema. He estado mirando y no he encontrado nada que de solución a mis problemas. Si me ayudaseis quedaria muy agradecida.
El problema es que cuando intento actualizar un registro en la BBDD me da el siguiente error:
ADODB.Recordset error '800a0cb3'

Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

/SPIO/configurar.asp, line 90

Os pongo parte del codigo haber si me podeís hechar un cable.
<%
dim ObRS, sql
set Oconn = server.createobject("ADODB.connection")
Oconn.open "BD_SPIO"
set obrs=Server.CreateObject("ADODB.RecordSet")
sql="select * from celula"
set ObRS= oconn.Execute(SQL)
if td_celula=obrs("C_celula") & td_equipo=obrs("c_equipo") & td_descripcion=("descripcion") then
obrs.movenext
else
obrs("c_celula") = Request.form("td_celula")
obrs("c_equipo") = Request.form("td_equipo")
obRS("descripcion") = Request.form("td_descripcion")
obrs.update
obrs.movenext
obrs.Close()
end if
Set obrs = nothing
%>
Gracias de antemano
  #2 (permalink)  
Antiguo 29/03/2011, 03:55
 
Fecha de Ingreso: marzo-2011
Ubicación: zarautz
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al actualizar datos

Cita:
Iniciado por txuspinita Ver Mensaje
Hola a todos:
Me gustaria que me ayudaseis con mi problema. He estado mirando y no he encontrado nada que de solución a mis problemas. Si me ayudaseis quedaria muy agradecida.
El problema es que cuando intento actualizar un registro en la BBDD me da el siguiente error:
ADODB.Recordset error '800a0cb3'

Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

/SPIO/configurar.asp, line 90

Os pongo parte del codigo haber si me podeís hechar un cable.
<%
dim ObRS, sql
set Oconn = server.createobject("ADODB.connection")
Oconn.open "BD_SPIO"
set obrs=Server.CreateObject("ADODB.RecordSet")
sql="select * from celula"
set ObRS= oconn.Execute(SQL)
if td_celula=obrs("C_celula") & td_equipo=obrs("c_equipo") & td_descripcion=("descripcion") then
obrs.movenext
else
obrs("c_celula") = Request.form("td_celula")
obrs("c_equipo") = Request.form("td_equipo")
obRS("descripcion") = Request.form("td_descripcion")
obrs.update
obrs.movenext
obrs.Close()
end if
Set obrs = nothing
%>
Gracias de antemano
hola de nuevo:
Ahora he cambiado el codigo y me a parecido mejor hacer un insert.
El problema ahora es que no me sale ningun error pero no me actualiza los datos en la BBDD.
¿Podríais ayudarme? Os dejo el codigo aqui abajo. Si quereis que de mas detalles decirme y lo hare enseguida
<%
dim ObRS, sql
set Oconn = server.createobject("ADODB.connection")
Oconn.open "BD_SPIO"
set obrs=Server.CreateObject("ADODB.RecordSet")
sql="select * from celula"
set ObRS= oconn.Execute(SQL)
if td_celula="" or td_equipo="" or td_descripcion= "" then
obrs.movenext
else
sql2="insert into celula (c_celula, c_equipo, descripcion) values (td_celula, td_equipo, td_descripcion)"
end if
Set obrs = nothing
%>
Gracias de antemano
  #3 (permalink)  
Antiguo 29/03/2011, 06:53
Avatar de Wasper  
Fecha de Ingreso: julio-2006
Ubicación: de cai, picha!!!
Mensajes: 1.030
Antigüedad: 17 años, 9 meses
Puntos: 41
Respuesta: Problema al actualizar datos

Hola txuspinita,

Algunas cosas que veo son:

- Si lo que quieres es actualizar datos, la SQL debera ir al dato en cuestion y veo que no se lo pasas sql="select * from celula" al menos dale el id del registro que debe actualizar por ejemplo: sql="select * from celula WHERE id = " & request.querystring("nombrecampo") segun le pases la variable por get, ya que por post puedes se pone request.form("nombrecampo")
- Despues de de ejecutar la SQL se comprueba si existe o no en este caso con obrs.EOF con un
Cita:
if not obrs.EOF then "lo ha encontrado actualizamelo"
else
"no lo ha encontrado por lo tanto no existe y no se puede actualizar, opciones que tienes, nuevo registro o cartelito comentando que no se puede actualizar"
end if
A todo esto en el ejemplo 2º que expones, no ejecutas sql2 y no haces update (esto ultimo no recuerdo si debe hacerse como lo expones)
__________________
Saludos, Jose

Paginas web y SEO
Anuncios por palabras
  #4 (permalink)  
Antiguo 29/03/2011, 13:07
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 16 años, 5 meses
Puntos: 54
Respuesta: Problema al actualizar datos

hola, luego de revisar el codigo, me doy cuenta de que no has seguido las reglas basicas de la programacion

1. Crear tu algoritmo

Segun tu primer post puedo deducir lo siguiente comentando sobre las lineas involucradas:
Código ASP:
Ver original
  1. <&#37;
  2. dim ObRS, sql
  3. set Oconn = server.createobject("ADODB.connection")
  4. Oconn.open "BD_SPIO"
  5. set obrs=Server.CreateObject("ADODB.RecordSet")
  6.  
  7. 'seleccionamos todos los registros de la tabla celula sin algun tipo de ordenacion
  8. sql="select * from celula"
  9.  
  10. 'ejecutamos la sentencia contra la base de datos
  11. set ObRS= oconn.Execute(SQL)
  12.  
  13. 'si la variable td_cedula = a orbs.... no hay coleccion field ("C_celula") ademas haces
  14. 'concatenacion, que yo sepa se hace con el operador AND
  15. if td_celula=obrs("C_celula") & td_equipo=obrs("c_equipo") & td_descripcion=("descripcion") then
  16. 'las variables(?) coinciden con los campos, procedemos
  17.  
  18. 'nos movemos al siguiente registro
  19. obrs.movenext
  20.  
  21. else
  22. 'si no coinciden asignamos a los campos los request.form
  23.  
  24. obrs("c_celula") = Request.form("td_celula")
  25. obrs("c_equipo") = Request.form("td_equipo")
  26. obRS("descripcion") = Request.form("td_descripcion")
  27.  
  28. 'actualizamos y nos movemos al siguiente
  29. obrs.update
  30. obrs.movenext
  31. obrs.Close()
  32. end if
  33. Set obrs = nothing
  34. %>

Como puedes ver, no se entiende lo que quieres hacer, tu codigo es muy confuso, y dado que el que se confunde tambien es el interprete ASP, te salen esos errores raros.
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #5 (permalink)  
Antiguo 29/03/2011, 13:11
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 16 años, 5 meses
Puntos: 54
Respuesta: Problema al actualizar datos

Ahora, viendo tu segundo codigo, aplicaré lo mismo que al anterior

Código ASP:
Ver original
  1. <&#37;
  2. dim ObRS, sql
  3. set Oconn = server.createobject("ADODB.connection")
  4. Oconn.open "BD_SPIO"
  5. set obrs=Server.CreateObject("ADODB.RecordSet")
  6.  
  7. 'seleccionamos todos los registros de la tabla celula sin algun tipo de ordenacion
  8. sql="select * from celula"
  9.  
  10. 'ejecutamos la sentencia contra la base de datos
  11. set ObRS= oconn.Execute(SQL)
  12.  
  13. 'si alguna de las variables td_celula..... estan vacias entonces
  14. if td_celula="" or td_equipo="" or td_descripcion= "" then
  15.  
  16. 'nos movemos al siguiente registro
  17. obrs.movenext
  18. else
  19.  
  20. 'sino, insertamos en celula los valores de las variables
  21. sql2="insert into celula (c_celula, c_equipo, descripcion) values (td_celula, td_equipo, td_descripcion)"
  22. end if
  23. Set obrs = nothing
  24. %>
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #6 (permalink)  
Antiguo 30/03/2011, 11:20
Avatar de SUMMITE  
Fecha de Ingreso: julio-2002
Mensajes: 19
Antigüedad: 21 años, 10 meses
Puntos: 0
Respuesta: Problema al actualizar datos

Falta cursor!

Etiquetas: Ninguno
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 02:29.