![]() |
Como capturar Excepcione EIBClientError
Buenos Dias:
Tengo un inconveniente en los DBGrid, estoy utilizando uno para que me muestre la tabla de monedas que tengo en mi BD, para esto utilizo un IBDataSet, del cual estoy utilizando el Select y el update. Especialmente hago que me liste las monedas para poderlas modificar, bueno el inconveniente es que al desplazarme de un registro a otro utilizo las flechas, cuando me desplazo hacia abajo y llego al ultimo registro y oprimo de nuevo la flecha hacia abajo me sale una Excepcion de: EIBClientError. Cannot insert into dataset (No insert query) Lo que deseo es capturar esa excepcion o que si llega al ultimo registro no se pueda desplzar mas, para que no me genere ese error. Agradeceria muchisimo que me ayudaran.:confused: |
Podrías definir un manejador para el evento BeforeInsert de la consulta asociada al grid
Esto impide por completo las inserciones en esa consulta Un saludo |
Ante todo gracias por haberme respondido.
Mira no me funciono, sigue saliendo esa excepcion, cuando estoy posionada en el ultimo registro de la tabla, eso ocurre con la flecha hacia abajo. que puedo hacer? |
Mira, como entiendo, estas utilizando un DBGrid para este truco, tienes tres maneras de hacerlo, una como ya lo comento es buscar en los eventos del DBGrid, no del query o lo que uses y colocar la instrucción Abort.
La segunda es sin tener que colocar ninguna clase de código, solo te vas en las propiedades del DBGrid, en opciones y colocas la propiedad edit en FALSE. La tercera es la más sencilla de todas, lo que tienes que hacer es, como el DBGrid esta conectado a un data set supongo, ir al data set y colocar sy propiedad EDIT en FALSE. Espero que te halla servido de algo esto, suerte. |
no me funciono, porque si coloco la opcion edit en false, no me dejaria modificar las monedas que deseo,
lo que quiero es que me deje modificar las ya existentes, mas no me deje hacer un append en la grilla, ya que no debe dejar insertar. y por no tener la instruccion sql del insert es por eso que me genera la excepcion que no la he podido capturar, originada cuando lo hago con la flecha abajo, donde especificamente me sale el error en el (end;). ojala me halla hecho entender y me puedan ayudar. Gracias ante todo por las respuestas. |
Entonces lo que se me ocurre de golpe es que utilices uno o unos DBEDITs que apunten a o los valores que estas seleccionando y que cuando desees modificar el valor lo hagas en el DBEDit en lugar de hacerlo directamente en el DBGrid.
|
Aparte de hacer lo que te he indicado en el post anterior, pon en la propiedad InsertSQL del IBDataSet cualquier cosa (la letra que más rabia te dé bastaría). De esta manera no saltará el error.
Un saludo |
De Darío Álvarez Aranda en trucomanía (www.q3.nu)
Saludos. |
La franja horaria es GMT +2. Ahora son las 09:35:33. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi