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: 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 Angel.

Solo una sugerencia para no redundar el código del TIBSQL:
Código PHP:
void execIBSQL(TIBSQL *isq, String 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(IBSQL1, String("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