No puedo eliminar registros de una tabla
Buenos dias a todos!
Vereis, llevo un par de dias dándole vueltas a una cosa extraña que me pasa. Resulta que en mi programa delphi tengo un query con el que mando una instrucción sql a mi base de datos (interbase & firebird) pero no sé porqué no la consigue ejecutar. Es tan simple como:
Y en la tercera linea se queda como.... congelado. No lanza error pero deja de funcionar. Intenté ejecutar la instrucción desde la base de datos directamente y aquí es donde me sale el mensaje extraño, que os paso a comentar:
Alguien tiene alguna idea de porqué me pasa esto??? |
En el codigo debe cambiar
por El procedimiento Open se usa sólo cuando se van a traer datos, es decir, cuando se trata de un Select, para Insert y Update se utiliza ExecSQL. El segundo error se debe a que alguien modificó el registro antes y todavía no se hizo un commit o rollback. Revisa que hagas commit o rollback al final de cada transacción. Un saúdo. |
A las transacciones les he puesto la opcion Read Commited (no tenia nada seleccionado) y he hecho los cambios que me has comentado, quedando el código así:
pero lo único que ha cambiado es que el mensaje que me salía en la base de datos me sale ahora en delphi :confused: Además es que soy muy nuevo programando en delphi y no entiendo eso de "lock conflict on no wait transaction".... |
¿Qué gestor de bases de datos utilizas y que estás haciendo antes de lanzar la consulta?
Puedes hacer la siguiente prueba: 1.- Matas el servicio de la base de datos. 2.- Lo levantas. 3.- Lanzas la consulta directamente contra la base de datos. Si con esto de siguen dando el error es que hay algo mal configurado en la base de datos. Un saúdo |
Al final se ve que era un problema de la base de datos. He estado tocándola mucho últimamente y se ve que algo jodí. Menos mal que tenía copias de seguridad y pude recuperar los datos.
En cualquier caso, muchas gracias por la ayuda! |
La franja horaria es GMT +2. Ahora son las 15:52:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi