Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Al actualizar el Id_CierreZ se cuelga el programa. (https://www.clubdelphi.com/foros/showthread.php?t=79278)

JairoC 21-06-2012 03:58:58

Al actualizar el Id_CierreZ se cuelga el programa.
 
Hola gente del foro! Estoy haciendo un sistema de facturación. Una de las tablas son FACTURADEVENTAS y CIERREZ. Donde la tabla FACTURADEVENTAS tiene como clave secundaria el campo ID_CIERREZ. Al generar la factura de venta, el campo ID_CIERREZ, lo inserto vacío.
Al finalizar el dia, genero el CIERRE Z. Y luego quiero recorrer la tabla FACTURASDEVENTAS para acutalizarle el ID_CIERREZ correspondiente.
Este es el código:
Código Delphi [-]
with(dm.IBQuery_general)do   
      begin
        FieldDefs.Clear;
        SQL.Clear;
        SQL.Add('update FACTURASDEVENTAS set id_cierrez=:cierre where id_cierrez is null');
        ParamByName('cierre').AsInteger:=num_cierre;
        Open; //ACÁ SE CUELGA
      end;

El problema es que se me cuelga el programa al hacer el Open y no responde. Desde ya muchas gracias!!!

olbeup 21-06-2012 08:28:49

Cita:

Empezado por JairoC (Mensaje 435735)
Hola gente del foro! Estoy haciendo un sistema de facturación. Una de las tablas son FACTURADEVENTAS y CIERREZ. Donde la tabla FACTURADEVENTAS tiene como clave secundaria el campo ID_CIERREZ. Al generar la factura de venta, el campo ID_CIERREZ, lo inserto vacío.
Al finalizar el dia, genero el CIERRE Z. Y luego quiero recorrer la tabla FACTURASDEVENTAS para acutalizarle el ID_CIERREZ correspondiente.
Este es el código:
Código Delphi [-]
with(dm.IBQuery_general)do   
      begin
        FieldDefs.Clear;
        SQL.Clear;
        SQL.Add('update FACTURASDEVENTAS set id_cierrez=:cierre where id_cierrez is null');
        ParamByName('cierre').AsInteger:=num_cierre;
        Open; //ACÁ SE CUELGA
      end;

El problema es que se me cuelga el programa al hacer el Open y no responde. Desde ya muchas gracias!!!

El "Open" se utiliza para la sentencia "SELECT" que es para cuando te devuelven registros
El "ExecSQL" se utiliza para las sentencias "DELETE, UPDATE e INSERT"

Espero que en futuras "Open", "ExecSQL" sepas cual utilizar.

Un saludo.

JairoC 22-06-2012 02:27:09

Hola olbeup! Muchas gracias. Probé con ExecSQL, pero sigue igual. Hay otra forma de hacerlo como lo estoy haciendo? Un saludo...

olbeup 22-06-2012 07:57:18

No hay otra forma de ejecutar una consulta SQL, se hace con "Open" o "ExecSQL", es posible que tu DB esté corrupta, también lo que puedes probar es con el ibexpert para ver si hace lo mismo.

Un saludo.

JairoC 22-06-2012 20:09:09

Bueno gracias!!! Voy a verificar bien la los campos de la Base... Un saludo...


La franja horaria es GMT +2. Ahora son las 06:50:40.

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