Ver Mensaje Individual
  #8  
Antiguo 07-11-2025
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Reputación: 21
Angel.Matilla Va por buen camino
Cita:
Auxiliar->SQL->Text = "SELECT GEN_ID(ID_" + (fFacturas->Tag == 1 ? (String)"Tiquet" : (fFacturas->Tag == 2 ? (String)"Albaran" : (String)"Factura")) +
", 0) Valor FROM RDB$DATABASE";
Después de mucho batallar resulta que el problema, a pesar del mensaje de error, no estaba en la transacción: estaba en la forma de construir el query. En vez de hacerlo como está puesto lo hago así:
Código SQL [-]
Auxiliar->Close();
switch (fFactura->Tag)
{
     case 1:
          fMenu->Auxiliar->SQL->Text = "SELECT GEN_ID(ID_Tiquet, 0) Valor FROM RDB$DATABASE";
          break;
     case 2:
          fMenu->Auxiliar->SQL->Text = "SELECT GEN_ID(ID_Albaran, 0) Valor FROM RDB$DATABASE";
          break;
     case 3:
          fMenu->Auxiliar->SQL->Text = "SELECT GEN_ID(ID_Factura, 0) Valor FROM RDB$DATABASE";
          break;
}
fMenu->Auxiliar->Open();
Y funciona perfectamente. Se ve que fFacturas->Tag == 1 ?..., que siempre me ha funcionado bien, ha decidido que a partir de ahora ya no vale.
Responder Con Cita