FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Ado
Hola a todos, estoy desesperado, acudo a ustedes como última alternativa esperando resolver mi problema, espero puedan ayudarme, el problema es el siguiente. Soy nuevo en el trabajo con delphi, lo asumí porque me gustó mucho como lenguaje de programación, estoy inmerso en el desarrollo de un proyecto donde utilizo ADO para conectarme a una base de datos sql server con el proveedor oledb. La aplicación tiene que ver con la emisión de cheques y la recepción de facturas. Tengo un formulario para introducir nuevos cheques y la vez por supuesto realizar el pago de las facturas, entre las tablas cheques y facturas existe una relación de uno varios ya que con un cheque se pueden pagar varias facturas. El formulario está implementado de tal forma que cuando establezco a verdadero el campo pagado de la tabla factura el importe de la misma o las mismas ,ya que pueden ser varias, se adiciona el campo importe de la tabla cheque. Todo funciona de maravillas hasta ahí, pero cuando por error se agrega un número de cheque ya existente y se establece a verdadero el campo pagado de la tabla factura me ocurre el siguiente error: "Class EOLeException with message Violation of Primary Key constraint PK_Cheques. Cannot insert duplicate Key in object Cheques". La base de datos tiene tiene tres tablas hasta el moemento la Tabla Factura, Cheques y Proveedor. Estoy cansado de leer acerca del manejo de las excepciones pero no acabo de entenderlas, siempre utilizan d ejemplo la que se produce en la clase EConvertError o en la Clase EDivbyZero la cual es bastante sencilla, pero no he visto nada sobre la clase EOLeException, agradecería que me ilustraran si se pued con algún ejemplo para ver si puedo entender esto y poder solucionar mi problema o a lo mejor una posible solución al problema planteado segú la experiencia y los conocimientos de ustedes. Muchas gracias.
|
#3
|
||||
|
||||
Saludos
El inconveniente con la Exception está claro, la tabla Cheques tiene un campo primaro que no permite el duplicado de un registro y por esa razon te envia el error. Para manejar ese error, utiliza try-except o try-Finally
Espero te sirva
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#4
|
||||
|
||||
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
|