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)
-   -   solo guarda el ultimo registro en una tabla (https://www.clubdelphi.com/foros/showthread.php?t=36261)

nikotina 06-10-2006 13:04:49

solo guarda el ultimo registro en una tabla
 
hola a todos. mi problema es que cargo una una table1 por medio del dbgrid y luego necesito pasarlo a otra, table2. el problema es que solo guarda el ultimo registro del table1 en el table2. cuando cierro la aplicacion y la vuelvo a abrir y presiono el boton guardar, ahi si guarda todos los registros.
el codigo es:

procedure bottom1.click(sender:object)
begin
while not table1.eof do
begin
table2.append;
table2.fieldvalues['art_y_esp']:=table1.fieldvalues['art_y_esp'];
table1.post;
table1.insert;
end;
end;

muchas gracias a todos. un abrazo

mensana 06-10-2006 13:30:19

Cita:

Empezado por nikotina
... el problema es que solo guarda el ultimo registro del table1 en el table2.

while not table1.eof do
begin
table2.append;
table2.fieldvalues['art_y_esp']:=table1.fieldvalues['art_y_esp'];
table1.post;
table1.insert;
end;
end;

Quizá falta un table1.First

maeyanes 06-10-2006 16:09:47

No solo eso, te falta hacer el recorrido de la tabla, esto es, necesitas usar el método Next de la tabla fuente.

Código Delphi [-]
Table1.First;
while not Table1.Eof do
begin
  Table2.Append;
  Table2.FieldValues['art_y_esp'] := Table1.FieldValues['art_y_esp'];
  Table2.Post;
  Table1.Next // <---- Esto es lo que te falta....
end


Saludos....

Caral 06-10-2006 17:21:46

Hola a todos
Pedonen que me meta, pero pienso que ya de por si, la tabla edita en el registro siguiente, para mi y asi lo uso y funciona no hay necesidad de recorrer la tabla, ? para que ? con solo poner:
Código Delphi [-]
procedure bottom1.click(senderbject)
begin
table2.Last;
table2.Edit;
table2.fieldvalues['art_y_esp']:=table1.fieldvalues['art_y_esp'];
table1.post;
end;
Va al ultimo registro, lo edita, inserta los values y lo fija.
Saludos

Caral 06-10-2006 17:24:23

Huuyy que metida de pata, si hay que recorrer la tabla1,
NO la habia visto, PERDON.
Con respecto a lo otro, sigue igual.
Saludos


La franja horaria es GMT +2. Ahora son las 10:09:04.

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