Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Insertar 2 filas al mismo tiempo en un DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=2286)

drakan2k3 16-07-2003 20:49:10

Insertar 2 filas al mismo tiempo en un DBGrid
 
Salu2 foristas.
El motivo de esta pregunta es el siguiente: Estoy desarrollando un sistema contable y el desarrollo va bien pero me encontré con un problema, que es el siguiente: tengo un dbgrid el cual me muestra unas cuentas contables, asociadas a un código, el problema es que en este dbgrid debo añadir 2 filas al mismo tiempo, cosa que no he podido, ya que solo puedo añadir una sola fila.
Si alguien sabe como poder añadir 2 filas al mismo tiempo, me ayude por favor.
De ante mano muchas gracias.

PD: El dbgrid lo tengo vinculado con un dbnavigator y para añadir una nueva fila utilizo la siguiente sentencia:
DBNavigator1.BtnClick( nbInsert );

__cadetill 16-07-2003 21:08:46

sabes los valores que tienes que añadir a la tabla (mas que al dbgrid)?
Si es asi, puedes lanzar 2 inserts seguidos.

Sino, creo que no sera posible lo que quieres lograr. En una tabla solo puedes añadir un registro cada vez

andres1569 16-07-2003 21:09:47

Hola:

Al mismo tiempo, en rigor, es imposible, deberá ser una detrás de la otra, aunqeu el usuario note que han sido al mismo tiempo. Prueba este código, adaptado a tus necesidades, y es mejor que uses el método Insert o Append de la fuente de datos para añadir registros, y no llamara al click del DBNavigator:

Código:

// DATAMODULE.Table1 es la tabla sobre la que se apoya el Grid
with DATAMODULE.Table1 do
begin
  Insert;  // Append si quieres añadirlo al final
  FieldByName('ID').AsInteger := NuevoID;
  FieldByName('Nombre').AsString := 'Roberto';
  ...
  Post;

  Inc (NuevoId);  // Para no generar un error de clave duplicada

  Insert;  // Append si quieres añadirlo al final
  FieldByName('ID').AsInteger := NuevoID;
  FieldByName('Nombre').AsString := 'Elena';
  ...
  Post;
end;

Si no te deja añadir dos filas, quizás sea porque asignas al campo de la clave primaria el mismo valor, y no admite duplicados (fíjate en el campo ID del ejemplo).


La franja horaria es GMT +2. Ahora son las 03:05:41.

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