Ver Mensaje Individual
  #1  
Antiguo 23-02-2007
vicac vicac is offline
Registrado
 
Registrado: oct 2006
Posts: 3
Reputación: 0
vicac Va por buen camino
Por que no funciona EOLEException

Hola. Soy novata en el manejo Delphi, estoy desarollando un a aplicacion (Delphi7) con una base de datos en MySql que debe ser accedida por varios clientes. Dentro de la aplicacion genero un Vale con numero de folio unico y lo manejo de la siguiente manera:

Cuando abre la forma muestra un numero de folio obtenido de "select max(folio) from vale". Obviamente si se conectan dos clientes al mismo tiempo les dara el mismo numero de folio. Es por esto que al guarda se generara una exception la cual quiero tomar e indicarle que recalcule el numero de folio.

Mi problema es que ese trozo de codigo, donde toma la excepcion, no me funciona, estoy utilizando myodbc el error es de llave duplicada de la class EOLEException.


Try
tablas.ADOQuery1.SQL.Clear;
tablas.ADOQuery1.SQL.Text:=cad;
tablas.ADOQuery1.ExecSQL;
application.MessageBox('Registro Agregado','Información',mb_ok+mb_iconinformation);

except
on E:EOLEException do begin
// Levantamos la excepción
MessageDlg('Se asignara un nuevo folio:' +E.Message, mtError, [mbOK], 0);
self.CalcularFolio;
end;

cad es la intruccion de insertar en mysql, y el error se produce en la linea de "tablas.ADOQuery1.ExecSQL;". y no tome el codigo de la exception.


¿Que estoy haciendo mal?

Gracias por su ayuda!
Responder Con Cita