Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-07-2003
drakan2k3 drakan2k3 is offline
Registrado
 
Registrado: jul 2003
Posts: 3
Poder: 0
drakan2k3 Va por buen camino
Question 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 );
Responder Con Cita
  #2  
Antiguo 16-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 16-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
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).
__________________
Guía de Estilo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:47:43.


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
Copyright 1996-2007 Club Delphi