Club Delphi  
    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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-03-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
TIBQuery: Evento OnBeforeOpen

Estoy trabajando con BCB 6.

Para simplificar código quería hacer que dos TIBQuery que tengo llamaran a los mismos eventos OnAfterOpen y OnBeforeOpen.
Con el primero de ellos no tengo problema y con el evento definido así me funcionan los dos:
Código:
void __fastcall TForm1::AfterOpen(TDataSet *DataSet)
{
     DataSet->Last();
     DataSet->First();
}
//---------------------------------------------------------------------------
pero con el otro el código que he puesto no va:
Código:
void __fastcall TForm1::BeforeOpen(TDataSet *DataSet)
{
     DataSet->Prepare();
}
//---------------------------------------------------------------------------
Ya he comprobado que el método Prepare() es propio del query y no del DataSet. ¿Cómo tendría que definir un query genérico para que ese evento me sirviera para ambos TIBQuery? No sé si me he logardo explicar.

He probado a definir ese query con
Código:
TIBQuery *qQuery = new TIBQuery(this);
y tratar de heredar las propiedades del DataSet, pero no acabo de dar con la manera.
Responder Con Cita
  #2  
Antiguo 07-03-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Facil, castea el objeto DataSet a TIBQuery:

Código PHP:
void __fastcall TForm1::BeforeOpen(TDataSet *DataSet)
{
     
TIBQuery(DataSet) ->Prepare();

Responder Con Cita
  #3  
Antiguo 07-03-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por AgustinOrtu Ver Mensaje
Facil, castea el objeto DataSet a TIBQuery:
No; me da error al compilar (E2288 Pointer to structure required on left side of -> or ->*)
Código:
void __fastcall TForm1::BeforeOpen(TDataSet *DataSet)
{
     TIBQuery(DataSet)->Prepare();
}
//----------------------------------------------------------------------------
Responder Con Cita
  #4  
Antiguo 07-03-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Bueno en realidad no he usado nunca C++ Builder

Pero la idea es castear la referencia de DataSet a la clase TIBQuery

Ejemplo en la documentacion

Código PHP:
void __fastcall TForm1::BeforeOpen(TDataSet *DataSet)
{
     
TIBQuery *Query dynamic_cast<TIBQuery *>(Sender);
     if (
Query)
     
Query ->Prepare();

Responder Con Cita
  #5  
Antiguo 07-03-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por AgustinOrtu Ver Mensaje
Código PHP:
void __fastcall TForm1::BeforeOpen(TDataSet *DataSet)
{
     
TIBQuery *Query dynamic_cast<TIBQuery *>(Sender);
     if (
Query)
     
Query ->Prepare();

De acuerdo. Me estaba empeñando en hacerlo a "lo bruto". Ese código que me has puesto es el que vale. Muchísimas gracias.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tibquery !!! mantraxer21 Varios 3 02-02-2011 21:55:17
Cómo aplicar el evento onbeforeopen en D4PHP Raynel PHP 0 29-08-2008 17:19:52
TIbquery nenufer Conexión con bases de datos 6 02-05-2006 11:13:07
Problemas con In en TIBQuery Rabata Conexión con bases de datos 1 15-10-2003 13:56:59
Problemas con In en TIBQuery Rabata SQL 1 15-10-2003 13:56:59


La franja horaria es GMT +2. Ahora son las 10:59:36.


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