Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Me da un error en Clausula DELETe (https://www.clubdelphi.com/foros/showthread.php?t=96749)

maravert 19-06-2024 19:17:05

Me da un error en Clausula DELETe
 
1 Archivos Adjunto(s)
Hola, tengo el siguiente código que no me permite avanzar
Código Delphi [-]

     DM.QueryCuentasPorCobrar.Close;
      DM.QueryCuentasPorCobrar.Open;
     DM.QueryCuentasPorCobrar.SQL.Add('DELETE FROM CuentasPorCobrar WHERE idColegiatura = :Cuenta');
     DM.QueryCuentasPorCobrar.ParamByName('Cuenta').AsInteger := ServicioaBorrar;
     DM.QueryCuentasPorCobrar.ExecSQL;


Me da el siguiente error en el archivo adjunto, utilizo Base de datos MYSQL en un servidor Remoto y FireDac

Gracias, espero alguien me ilumine, ya llevo días y no encuentro la solución

Casimiro Notevi 19-06-2024 20:22:42

Para empezar borra esa línea:
Código Delphi [-]
DM.QueryCuentasPorCobrar.Open;

maravert 19-06-2024 20:41:55

Gracias
 
Muchas Gracias, eso era me funciona al 100%

Casimiro Notevi 19-06-2024 20:51:58

^\||/^\||/^\||/

delphi.com.ar 19-06-2024 21:22:14

Solo una curiosidad, veo que al objeto QueryCuentasPorCobrar lo cierras antes de usarlo, por lo que podría suponer que lo estas reutilizando. Si lo estás reutilizando, y lo vuelves a llamar, se agregará otra linea más a la consulta, por lo que existirán dos instrucciones DELETE sin separador de línea, por ese motivo la segunda llamada fallará. Esa observación me surge desde que vi que el error habla de la línea 2, por lo que algún fundamento tiene mi sospecha.

Saludos.

Casimiro Notevi 19-06-2024 21:29:17

Es que no debería usar "add" sino:
Código Delphi [-]
DM.QueryCuentasPorCobrar.SQL.text := 'DELETE FROM CuentasPorCobrar WHERE idColegiatura = :Cuenta';
O depende del componente que esté usando:

Código Delphi [-]
DM.QueryCuentasPorCobrar.SelectSQL.text := 'DELETE FROM CuentasPorCobrar WHERE idColegiatura = :Cuenta';

maravert 06-07-2024 03:00:49

Gracias
 
Muy agradecido, muy agradecido muy agradecido

navbuoy 03-10-2024 15:17:00

la solucion es como primera linea MyQuery->SQL->Clear();


La franja horaria es GMT +2. Ahora son las 23:46:52.

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