PDA

Ver la Versión Completa : Modificar un Registro en un TMDOQuery


KAYO
20-07-2007, 20:35:44
A veces es mas facil preguntar que indagar sobre alguna solucion, pero el tiempo apremia..... es por eso que se agradecen vuestros consejos....

En una Aplicacion Delphi7 con TMDOQuery intento editar un registro con la sentencia

DM.TMDOClientes.Edit;

pero me aparece el error "Cant not modify a Read-Only DataSet"..

Sabeis cual es el error.... me podeis orientar con alguna solución?

brakaman
20-07-2007, 22:06:50
A veces es mas facil preguntar que indagar sobre alguna

con TMDOQuery intento editar un registro con la sentencia

DM.TMDOClientes.Edit;

pero me aparece el error "Cant not modify a Read-Only DataSet"..

Sabeis cual es el error.... me podeis orientar con alguna solución?

Pues yo tambien utilizo mucho el foro....

El MDOQuery se utiliza para extraer datos de 2 tablas y para actulizar datos requiere de otro componente MDOUpdateSQL

Te copio de la ayuda de IBX que los MDO como sabes no tienen mucha ayuda (Demasiado hacen nuestros amigos portugueses sobre el asunto) pero son un clon de estos......

Use TIBQuery to access one or more tables in a database using SQL statements. The TIBQuery component provides a read-only dataset, and adapts well to the InterBase client/server environment. To update the result set that TIBQuery represents, use this component in conjunction with a TIBUpdateSQL component.

Si quieres actulizar solo una tabla lo mejor es el MDODataset

Yo soy novatillo, voy leyendo de aqui y de alla, pero la verdad que no tengo tiempo , ya me gustaria a mi. :D

En fin saludos a todos los foreros y gracias por la ayuda que siempre me prestan.

sitrico
23-07-2007, 17:44:14
Yo solo uso MDOQuery pata TODO:

Sólo hay que crear el SQL correcto:

Select * from xxx para leer

Insert into xxxx (campo) values (:parametro) incluir

Update xxx set campo = :Parametro modificar

delete from xxx where campo = :parametro borrar

execute procedure.....

Claro debes usar muchos where y manejar el SQL a consciencia.

Saludos.

brakaman
23-07-2007, 21:36:58
Hola amigo:

Al decir que utilizas para todo MDOQuery+MDOUpdateSQL me ha surgido la duda de si era mejor tu opcion.

Dejando de lado que no discuto que es perfectamente valida, he preguntado en el foro oficial (Portugues) de los componentes y me han responido que para modificar datos es mejor MDODataset , y otro usuario ha ampliado las opciones MDODataset+TClientDataset .

Que como sabes se utiliza en modo desconectado y solo se envian los cambios al servidor cuando el programador quiere.

En fin , lo posteo por si a alguien le interesa.

Me gustaria hacer pruebas de rendimiento de las tres opciones , pero me haria falta una base de datos significativa., a ver si la consigo.

Saludos.

sitrico
30-07-2007, 22:43:02
brakaman:

Dos cosas:

- Yo sólo uso TMDOQuery (y transacciones), porque antes usaba sólo tQuery :)

- También busqué en foros en portugues y ví lo del tMDODataset pero en realidad no logré implementarlo (pero es lo que recomiendan).