Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 12-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jrla.

Para el ejemplo crea dos tablas iguales, menos en el nombre claro
Código SQL [-]
SET TERM ^;

CREATE TABLE TEST (
    ID      INTEGER,
    CADENA  VARCHAR(50)
)^

CREATE TABLE TEST2 (
    ID      INTEGER,
    CADENA  VARCHAR(50)
)^

SET TERM ;^
Y cargale algunos datos a la primer tabla (orígen).

En un form pone,
Código:
1 (un ) TIBDatabase    (IBDatabase1)
1 (dos) TIBTransaction (IBTransaction1) 
2 (dos) TIBDataSet     (ibdsSource y ibdsTarget)
2 (dos) TDataSource    (dsSource, dsTarget)
2 (dos) TDBGrid.       (dbgSource, dbgTarget)
1 (un ) TButton        (btnPassData)
Ejemplo:
Código PHP:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  
/* tabla origen */
  
ibdsSource->Close();
  
ibdsSource->Database = IBDatabase1;
  
ibdsSource->SelectSQL->Text = "SELECT * FROM TEST";
  
ibdsSource->Open();
  
// DataSource origen
  
dsSource->DataSet = ibdsSource;
  
// DBGrid origen
  
dbgSource->DataSource = dsSource;
  
dbgSource->Options = TDBGridOptions(dbgSource->Options)<< dgMultiSelect;
  
dbgSource->Options = TDBGridOptions(dbgSource->Options)<< dgRowSelect;
  
dbgSource->PopupMenu = PopupMenu1;

  
/* tabla destino */
  
ibdsTarget->Close();
  
ibdsTarget->Database = IBDatabase1;
  
ibdsTarget->SelectSQL->Text = "SELECT * FROM TEST2";
  
ibdsTarget->Open();
  
// DataSource destino
  
dsTarget->DataSet = ibdsTarget;
  
// DBGrid destino
  
dbgTarget->DataSource = dsTarget;
}

void __fastcall TForm1::btnPassDataClick(TObject *Sender)
{
  if (
dbgSource->SelectedRows->Count > 0) {
    for(
int i = 0; i < dbgSource->SelectedRows->Count; i++) {
      
ibdsSource->GotoBookmark((void*)dbgSource->SelectedRows->Items[i].c_str());
      
ibdsTarget->Insert();
      for(
int j = 0; j < ibdsSource->Fields->Count; j++)
        
ibdsTarget->Fields->Fields[j]->Value = ibdsSource->Fields->Fields[j]->Value;
      
ibdsTarget->Post();
    }
  }
} 
El código pasa los registros que hayas seleccionado en dbgSource (mediante Ctrl+Click) a dbgTarget (en realidad de ibdsSource a ibdsTarget), cuando se presiona el botón btnPassData.

Está realizado y probado en C++ Builder 6 y Firebird 2.5.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
crear referencia en tabla firebird ebeltete Firebird e Interbase 5 30-05-2011 10:39:47
Tabla de Referencia Cruzada santi33a MS SQL Server 3 03-02-2006 21:49:00
como ejecutar un query haciendo referencia a una tabla que esta en red????? reggaealex SQL 2 20-01-2005 19:36:48
Referencia a los campos de una tabla en Interbase mglucero Firebird e Interbase 2 05-11-2004 09:45:57
UPDATE con referencia a otra tabla... JorgeBec SQL 6 05-08-2004 20:48:36


La franja horaria es GMT +2. Ahora son las 08:19:29.


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