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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2014
jrla jrla is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 24
Poder: 0
jrla Va por buen camino
Talking el perdido :D

Cita:
Empezado por Casimiro Notevi Ver Mensaje
IBTransaction no es para conectar con una base de datos.
yo utilizo interbase el que trae embarcadero xe6 creo que se conecta con ibconasole y en mi form tengo par enlazar a a mi base de datos un tibdata base
Responder Con Cita
  #2  
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 0dbgSource->SelectedRows->Counti++) {
      
ibdsSource->GotoBookmark((void*)dbgSource->SelectedRows->Items[i].c_str());
      
ibdsTarget->Insert();
      for(
int j 0ibdsSource->Fields->Countj++)
        
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
  #3  
Antiguo 12-09-2014
jrla jrla is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 24
Poder: 0
jrla Va por buen camino
Talking aqui esta la propieda PopupMenu

Cita:
// DBGrid origen
dbgSource->DataSource = dsSource;
dbgSource->Options = TDBGridOptions(dbgSource->Options)<< dgMultiSelect;
dbgSource->Options = TDBGridOptions(dbgSource->Options)<< dgRowSelect;
dbgSource->PopupMenu = PopupMenu1;
la ultima línea
Responder Con Cita
  #4  
Antiguo 12-09-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
A ver, hay algo que no tengo claro, el filtrado ¿quieres guardarlo? Si es asi lo mejor es que crees una nueva tabla (por ejemplo la puedes llamar "filter") y ahí guardas. Si no quieres guardar ese filtrado ¿por que no usas un TStringGrid para mostrarlos? Este no necesita de una tabla y viene a ser lo mismo.
Responder Con Cita
  #5  
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
Cita:
Empezado por jrla Ver Mensaje
la ultima línea
Te pido mil disculpas, juro que no lo ví , solo borra la línea y el error desaparecerá

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 12-09-2014
jrla jrla is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 24
Poder: 0
jrla Va por buen camino
Talking listo

Código PHP:
http://docwiki.embarcadero.com/Libraries/XE6/en/System.Types.TByteDynArray 
ya borre la línea....... investigue y me sale estoy referente a tbytedynarray que opinas
Responder Con Cita
  #7  
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.

No me dice mucho y tampoco pude encontrar la declaración de TBookmark para XE6 o algún ejemplo.

¿ Podrías buscar por las palabras TBookmark y TBookmarkList en la ayuda (help) del propio XE6 a ver que dice ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 12-09-2014
jrla jrla is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 24
Poder: 0
jrla Va por buen camino
Red face vuelvo a explicar mi duda

hola a todos att el perdido.......... lo que tengo es lo siguiente tengo un form que se llama organizar curso donde tengo un combobox con todos los departamentos y un button enlazado a un query que me hace una consulta a la tabla trabajadores y me filtra los mismo de acuerdo a la selección del combobox y me lo mostrara en un stringrid ecfisa me ayudo con esa parte y buscando en los hilos vi que era mejor trabajar con un dbgrid entonces agregue un datasourse1 y lo enlace a mi query y mi dbgrid1 lo enlace a datasourse1 y este me muestra mi consulta

aquí viene el problema mi tutor dijo pero si yo quiero seleccionar algunos trabajadores de departamento y no a todos y crear otra lista .... y entonces agregue un 2 dbgri2 y un clienta dataset1 .... a dbgrid1 le active las opciones multiselec y rowslect lo que quiero hacer es que cuando marque los trabajadores del dbgrid 1 y precione un button los pase al dbgrid 2 y esa es la lista de trabajadores que voy a almacenar en mi base de datos esa es mi historia
Responder Con Cita
  #9  
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.

Claro, pero al usar un TDBGrid como receptor de los datos, sí o sí tenes que emplear una tabla ya que ese componente funciona en relación con ellas (la representa visualmente) y si usas la misma tabla vas a duplicar información.

Si usas una sola tabla, se me ocurre como mas lógico borrar los registros no seleccionados ...

¿ Es eso lo que buscas hacer? ¿ Dejar en la tabla sólo los registros seleccionados ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 12-09-2014
jrla jrla is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 24
Poder: 0
jrla Va por buen camino
ecfisas

aplique tu línea de código y me sale esto c_str isno a member of tbytedynarray y undefined symbol popupmenu1
con la explicación de tu código entendí que mi 2 dbgrid debe estar enlazado a la tabla que quiero almacenar verdad ?... o me equivoco
Responder Con Cita
  #11  
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.
Cita:
Empezado por jrla Ver Mensaje
aplique tu línea de código y me sale esto c_str isno a member of tbytedynarray
Es por eso que aclare: C++ Builder 6. En esta versión TBookmarkList, está declarado así:
Código PHP:
typedef void *TBookmark
Eso cambió a partir de C++ Builder 2009 y aparentemente XE6 declara la propiedad TBookmarkList (Items) de tipo TByteDynArray, de allí que indique que el método c_str() no es miembro de ...
Pero realmente desconozco la definición y uso en XE6, tendría que buscar y leer al respecto.


Cita:
Empezado por JRLA Ver Mensaje
y undefined symbol popupmenu1
¿ Y en que parte del código de mi mensaje metí un TPopupMenu llamado popupmenu1 ?


Cita:
Empezado por jrla Ver Mensaje
con la explicación de tu código entendí que mi 2 dbgrid debe estar enlazado a la tabla que quiero almacenar verdad ?... o me equivoco
No te equivocas en absoluto, es así. De ese modo se guardarían en la segunda tabla los registros seleccionados.

Saludos
__________________
Daniel Didriksen

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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 17:08:18.


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