Ver Mensaje Individual
  #3  
Antiguo 31-07-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
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 Angel.

Solo una sugerencia para no redundar el código del TIBSQL:
Código PHP:
void execIBSQL(TIBSQL *isqString strSQL
{
  if (!
isq->Transaction->InTransaction)
    
isq->Transaction->StartTransaction();

  
isq->SQL->Text strSQL;
  try {
    
isq->ExecQuery();
    
isq->Transaction->Commit();
  } catch(...) {
    
isq->Transaction->Rollback();
  }
}

...
{
   
TIBQuery *qy static_cast<TIBQuery*>(IBQuery1);

  
qy->Close();
  
qy->SQL->Clear();
  
qy->SQL->Add("SELECT RDB$GENERATOR_ID FROM RDB$GENERATORS");
  
qy->SQL->Add("WHERE RDB$GENERATOR_NAME = :GEN");
  
qy->ParamByName("GEN")->AsString "G_POBLACION";
  
qy->Open();

  if (
qy->IsEmpty())
   
execIBSQL(IBSQL1"CREATE SEQUENCE G_POBLACION");

  
qy->Close();
  
qy->SQL->Text "SELECT MAX(CODIGO) AS MAXIMO FROM POBLACION";
  
qy->Open();

  
execIBSQL(IBSQL1String("ALTER SEQUENCE G_POBLACION RESTART WITH ") +
    
qy->FieldByName("MAXIMO")->AsString);

Saludos
__________________
Daniel Didriksen

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