Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Modificar dbgrid sin alterar datos originales (https://www.clubdelphi.com/foros/showthread.php?t=88195)

ciskokkid 27-04-2015 19:58:26

Modificar dbgrid sin alterar datos originales
 
Buen dia
tengo un dbgrid asociado a un datasource y el datasource asociado a un adoquery, hago una consulta y funciona perfectamente,
luego modifico una columna del grid (solo para hacer una impresion) pero en automatico me modifica mi tabla original.
Hay manera de evitar que el adoquery modifique la base de datos automaticamente?
estoy usando mssql 2008

ciskokkid 27-04-2015 20:21:02

por lo pronto y mientras resuelvo si el adoquery tiene alguna propiedad para evitar la actualizacion automatica, lo hice de la siguiente manera:
la consulta la hago con un adoquery1
un datasetprovider con dataset=adoquery1,
un clientdataset con datasetprovider=dataseteprovider1
el datasource con dataset=clientdataset1
y el dbgrid con datasource=datasource1

no se si sea la forma correcta pero funciona
ahora puedo hacer mi consulta, modificar la columna que quiero y no altera los datos originales

Neftali [Germán.Estévez] 28-04-2015 10:46:59

Pues es la solución que te iba a proponer.

Utilizar un TClientDataset para tener la copia de los datos en memoria. Así puedes modificar los datos desde el grid y luiego si lo deseas volcar los cambios a la Base de Datos o no (parece que en tu caso no te interesa).


La franja horaria es GMT +2. Ahora son las 15:30:27.

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