Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Modificar un campo de una selaccion de una tabla (https://www.clubdelphi.com/foros/showthread.php?t=31351)

chipsoni 05-05-2006 11:52:51

Modificar un campo de una selaccion de una tabla
 
Quiero poner el campo 'no_rebibido', que es un entero, a 1, en todas las entradas de una tabla cuya diferencia del campo 'fecha', que es tipo Date, con la fecha actual, sea mayor de 15 dias.

Como se hace en delphi (la base de datos es mysql)?

Muchas gracias.

trashky 05-05-2006 12:04:46

UPDATE tabla SET no_recibido=1 WHERE datediff(fecha,curdate()) > 15

creo que asi deberia de funcionar :P
suerte

chipsoni 05-05-2006 13:07:33

Asi?

Add('UPDATE tdemanda SET no_recibida=1');
Add(WHERE datediff(fecha,curdate())>15');

Te coge el curdate() sin tener que pasarselo en un parambyname, o es?

Add('UPDATE tdemanda SET no_recibida=1');
Add(WHERE datediff(fecha,:fecha2)>15');
ParamByName('fecha2'):=curdate();

noshy 05-05-2006 20:27:22

Comando
 
El datediff y el cordate son funciones de SQL no de delphi, por eo las tenes que poner dentro de la consulta de SQL.

Espero que te soluciones el problema.

Noshy

chipsoni 06-05-2006 14:01:22

Algo falla y no se que es, voy a explicar lo mas detalladamente posible que es lo que hago y que es lo que quiero.

Necesito que cuando ejecute el programa, el sistema mire las fechas de todas las entradas de una tabla y las que tengan mas de 15 dias de antigüedad, me ponga el campo estado (entero) al valor 5.

1)En la ventana principal (la que se abre cuando se hace login correcto), pongo un Query.

2)En activate de la ventana principal escribo:

with Query do
begin
with SQL do
begin
DataModule1.tdemanda.close;
Clear;
DataModule1.tdemanda.open;
Add('UPDATE tdemanda SET estado=5');
Add('WHERE datadiff(date,curdate())>15');
Open;
end;
end;


La franja horaria es GMT +2. Ahora son las 10:10:37.

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