Ver Mensaje Individual
  #3  
Antiguo 25-02-2007
Abel Garcia Abel Garcia is offline
Miembro
 
Registrado: nov 2004
Posts: 45
Reputación: 0
Abel Garcia Va por buen camino
Cita:
Empezado por aledieb
Como creas los query, porque por cada thread tenes que crear la consulta, a ver si me explico mejor, tenes que crear dentro del thread el TQUERY o componente que uses con su correspondiente transaction.

Espero que me entiendas

Suerte
Muchas gracias por el Tip, pero sucede exactamente lo mismo, aun cuando sea creado cada elemento en el Thread de forma dinamica.
El de Conexion a la Base de Datos ( Cada Thread con su conexion), la Transaccion, y el Query.

En la Creacion:

Código:
 
IBDatabase =new  TIBDatabase(NULL);
IBDatabase->DatabaseName="DBX.FBD";
IBDatabase->Params->Add("user_name=SYSDBA");
IBDatabase->Params->Add("password=masterkey");
IBDatabase->LoginPrompt=false;

IBTransaction = new TIBTransaction(NULL);
IBTransaction->DefaultDatabase = IBDatabase;
IBTransaction->Params->Add("write");
IBTransaction->Params->Add("consistency");
 
IBQuery = new TIBQuery(NULL);
IBQuery->Transaction = IBTransaction;
IBQuery->Database =  IBDatabase;
IBQuery->SQL->Add("select * from TableX");
Execucion:

Código:
 
void __fastcall TTest::Execute()
{
 IBDatabase->Connected=true;
 while(!Terminated)
  {
  try{
     IBTransaction->StartTransaction();
     IBQuery->Open();
     IBTransaction->Commit();
     Sleep(1);
     }
     catch (Exception &exception)
                 {
                 }
  }
}
Cuando se crea el Segundo Thread sucede el Congelado.
Responder Con Cita