Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   guardar datos del grid (https://www.clubdelphi.com/foros/showthread.php?t=19999)

Yoli 02-04-2005 02:13:56

guardar datos del grid
 
Hola a todos, estoy haciendo un formulario maestro/detalle, en el cual tengo un grid, y lo que quiero hacer es que al insertar registros en el grid no se guarden automaticamente en la tabla. lo que quiero es guardar esos datos cuando yo pulse el boton guardar. Tengo poco tiempo programando en delphi y la verdad no tengo idea de como hacerlo. Esper puedan ayudarme en esto. Saludos y gracias de antemano.

vtdeleon 02-04-2005 02:52:46

Chequea este hilo: Insertando en Dbgrid

Saludos

Albano 04-04-2005 23:00:27

Codigo para guardar...
 
Al dar click al boton guardar pon el siguiente codigo, asi se van a guardar los datos ;) :
adotabledetpes.open;
for x := 0 to stringgrid1.RowCount - 1 do
begin
with adotabledetpes do
begin
Last;
Insert;
FieldValues['Nombre'] := stringgrid1.Cells[0,x];
FieldValues['Cantidad'] := strtocurr(stringgrid1.Cell[1,x]);
Post;
end;
end;
adotabledetpes.close;

vtdeleon 05-04-2005 03:04:55

Saludos.

Creo que la solucion que ha dado el amigo Albano se aplica en el casi que estuviera usando un stringrid.
Este no es el caso de Yoli :-D

Citando lo que escribio nuestro amigo Roman

Cita:

Empezado por Roman
Supongo que dependerá un poco de las componentes que uses. Con un TTable puedes poner su propiedad CachedUpdates en true con lo que cualesquiera cambios que hagas (inserción borrado, modificación) se guardarán en memoria y sólo se registrarán en la base cuando apliques el método ApplyUpdates o canceles los cambios con CancelUpdates.

Otra forma de hacerlo- la recomendada en la ayuda de Delphi -es a través de un Provider y un ClientDataSet. Conectas el Provider al Table o dataset que uses mediante su propiedad DataSet y conectas el ClientDataSet al Provider mediante su propiedad ProviderName. El DBGrid lo conectas a través de un DataSource al ClientDataSet en lugar del Table. Los mismos métodos mencionados antes, ApplyUpdates y CancelUpdates aplican, pero ahora al ClientDataSet.


Yoli 09-04-2005 00:21:30

Disculpen por no haber contestado antes hasta ahorita he leido sus respuestas. Gracias a todos.


La franja horaria es GMT +2. Ahora son las 03:38:21.

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