Ver Mensaje Individual
  #12  
Antiguo 23-05-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Gracias por todas las respuestas (me estáis enseñando un montón de cosas que desconocía) y perdón por lo paliza que llego a ser. Vamos a ver. He hecho lo que me has sugerido: darle los valores a la transacción, poner el código de la transacción (lo he puesto en el evento QueryAfterPost, como en tu ejemplo, pero tal vez no sea el mejor sitio) y he eliminado los commit tras los ExecSQL... ¡Pero me sigue haciendo lo mismo! Cuando tiene que buscar el último valor que se ha grabado en el query INSERT INTO Mesas, sigue sin encontrarlo y se salta el resto del código. De hecho tengo puesto con el depurador que se pare en:
Código PHP:
void __fastcall TfMenu::QueryAfterPost(TDataSet *DataSet)
{
     (
reinterpret_cast<TIBQuery *>(DataSet))->Transaction->CommitRetaining();

pero ni siquiera llega a entrar en ese evento; tengo puesta la "parada" justo en la línea del CommitRetainig. El código está puesto así, de forma similar a otros eventos, para que me valga para otros querys que hay en la aplicación; por ejemplo:
Código PHP:
void __fastcall TfMenu::QueryAfterClose(TDataSet *DataSet)
{
     (
reinterpret_cast<TIBQuery *>(DataSet))->UnPrepare();
     (
reinterpret_cast<TIBQuery *>(DataSet))->SQL->Clear();

Responder Con Cita