Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error 'Cannot modify a read-only dataset' (https://www.clubdelphi.com/foros/showthread.php?t=51217)

karaoke 09-12-2007 22:44:45

Error 'Cannot modify a read-only dataset'
 
Hola a todos, les comento, estoy realizando una aplicación y me sale el siguiente error: 'Cannot modify a read-only dataset' cuando quiero modificar un campo de una tabla.
La verdad que no se porque será, en ningún momento pongo readonly a true en la tabla.
Si alguien sabe que puede ser, le agradeceria que me ayude.

Muchas gracias...

Caral 09-12-2007 22:50:41

Hola
Bienvenido.
Si estas usando un componente table, no deberia de tener probremas si es como lo comentas.
Si estas usando un query, este tiene que contener los campos clave, o todos, de lo contrario no se modificara.
Creo.
Saludos

eduarcol 09-12-2007 23:17:57

Añadiendo lo que dice el amigo Carlos, seria buenos saber que componentes utilizas, pudes revisar la propiedad RequestLive

karaoke 09-12-2007 23:30:41

Error 'Cannot modify a read-only dataset'
 
Lo que estoy usando es un query que tiene todos los campos de la tabla principal.
El tema es asi, yo tengo un dbgrid que muestra el resultado de una consulta, es decir, esta relacionado con un query. La consulta sale perfecta, el dbgrid me muestra lo que yo quiero. Cuando yo hago click en un registro, es decir, cuando hago click en el dbgrid, los datos esos de ese registro me aparecen reflejados en diversos edit que he colocado, de modo que desde ahi se pueda modificar esa información. Ahora, cuando modifico algo y presiono el boton guardar, ahi me sale el error.
En el boton guardar lo unico que hago es poner query.edit y luego pasar los valores que estan en los edit al query, es decir algo asi:

query.Edit;
query.FieldByName('Fecha_inicio').AsDateTime:=dtpfini.DateTime;
query.FieldByName('Fecha_vto').AsDateTime:=dtpfvto.DateTime;
query.Post;

dtpfini y dtpfvto son componentes datetimepicker.

Espero que entiendan mas o menos cual es mi problema...


Muchas gracias...

Caral 09-12-2007 23:46:58

Hola
Pues yo no le veo ningun problema, a mi me funciona bien, tal y como lo tienes.
Prueba asi:
Código Delphi [-]
query.Edit;
query.FieldByName('Fecha_inicio').AsString:= DateToStr(dtpfini.DateTime);
query.FieldByName('Fecha_vto').AsString:=DateToStr(dtpfvto.DateTime);
query.Post;
Es lo mismo, pero......
Por favor usa las etiquetas delphi, asi se vera mejor el codigo.
Otra cosa, que componente usas para la coenxion?
Que base de datos usas?.
Saludos

jachguate 10-12-2007 02:38:07

Creo que el problema es el ya mencionado por eduarcol antes: Seguramente la propiedad RequestLive no está puesta a True.

Hasta luego.

;)

karaoke 10-12-2007 04:05:05

Como es lo del RequestLive? La verdad que hasta ahora no lo habia usado asi que no se bien como se hace. Tengo que ponerlo en True cuando estoy por guardar alguna modificación?

Estoy usando Paradox.

La verdad que no puedo encontrar el error, ya me estoy volviendo loca!! bueno, de a poco ire solucionando, eso espero, no llevo mucho tiempo programando asi que podriamos decir que soy novata, jeje.

Muchas gracias a todos los que respondieron a mi duda...

Cualquier novedad vuelvo a postear, saludos....

jachguate 10-12-2007 05:46:23

RequestLive lo pones a True cuando queres que el resultado del query sea modificable. De lo contrario, el resultado será de solo lectura.

En tu caso, creo que podrías ponerlo a ese valor directamente en el inspector de objetos.

Hasta luego.

;)

karaoke 10-12-2007 06:38:31

Muchisimas gracias a todos, al fin pude solucionar, lo que hice fue poner el dataset en modo edit, la verdad que no se porque tengo que hacer eso, porque en otra parte de la aplicacion tengo un boton que hace lo mismo pero con otro query y puedo realizar las modificaciones que quiero sin necesidad de poner el dataset en edit. Pero bueno, lo importante es que ya me salio.

Nuevamente muchisimas gracias a todos....

Saludos...


La franja horaria es GMT +2. Ahora son las 23:24:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi