Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2006
chipsoni chipsoni is offline
Miembro
 
Registrado: nov 2005
Posts: 75
Poder: 19
chipsoni Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 05-05-2006
Avatar de trashky
trashky trashky is offline
Miembro
 
Registrado: abr 2006
Posts: 12
Poder: 0
trashky Va por buen camino
UPDATE tabla SET no_recibido=1 WHERE datediff(fecha,curdate()) > 15

creo que asi deberia de funcionar :P
suerte
Responder Con Cita
  #3  
Antiguo 05-05-2006
chipsoni chipsoni is offline
Miembro
 
Registrado: nov 2005
Posts: 75
Poder: 19
chipsoni Va por buen camino
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();
Responder Con Cita
  #4  
Antiguo 05-05-2006
Avatar de noshy
noshy noshy is offline
Miembro
 
Registrado: jul 2003
Posts: 139
Poder: 21
noshy Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 06-05-2006
chipsoni chipsoni is offline
Miembro
 
Registrado: nov 2005
Posts: 75
Poder: 19
chipsoni Va por buen camino
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;

Última edición por chipsoni fecha: 06-05-2006 a las 15:17:08.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Modificar una campo dmagui Firebird e Interbase 2 26-11-2005 19:50:09
Modificar campo de tabla en MS ACCESS i_minex Servers 1 04-03-2005 09:05:15
Como Modificar Campo De Tabla Dbf Por Codigo???? AGAG4 Varios 6 10-01-2005 18:03:58
Tabla a excel modificar y guardar en la tabla jgutti Servers 1 06-09-2004 16:20:49
Error al modificar campo de una Tabla weke Conexión con bases de datos 2 14-05-2004 07:59:06


La franja horaria es GMT +2. Ahora son las 07:17:51.


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
Copyright 1996-2007 Club Delphi