Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   update de Sql no funciona, como hago ? (https://www.clubdelphi.com/foros/showthread.php?t=51428)

edr_tuc 15-12-2007 01:14:15

update de Sql no funciona, como hago ?
 
hola a todos,tengo un pequeño problemita,paso a contarles :
necesito que todas las tareas (tabla tareas ) que tengan vencimiento >= hoy cambien su estado a "vencida " para esto en el form principal puse una consulta con lo siguiente en su propiedad sql:

update tareas
set estado = :b
where fecha_vto >= :a

defini correctamente las propiedades de los parametros (propiedad params de la consulta;puse que eran string y date respectivamente ,etc)

y en el evento onshow del form principal tengo lo siguiente :

procedure TFprincipal.FormShow(Sender: TObject);
var
b:string;
begin
b:='vencida';
a:= now;
actualizacion.Params[0].Asstring:=b;
actualizacion.Params[1].AsDateTime:=a;
actualizacion.ExecSql;

la cuestion es que el sistema corre perfecto pero no me actualiza la tabla tareas que es lo que necesito ,podria alguien darme una mano??
desde ya muchas gracias espero haber sido claro en la explicacion saludos .-

egostar 15-12-2007 01:29:09

Hola edr_tuc

Bienvenido al club, te invito a que leas nuestra guia de estilo.

Referente a tu problema necesitas comentar que base de datos estas usando ya que no es lo mismo en todas, sin embargo, te puedo comentar que como estas pasando el parámetro DateTime tal vez no es correcto. trata con esto:

Código Delphi [-]
 
  b:='vencida';  
  a:= now; 
  actualizacion.Params[0].AsString := b; 
  actualizacion.Params[1].AsDate  := a; 
  actualizacion.ExecSql;

Por cierto, usa las etiquetas para que tu código se vea bien y mas entendible. :)

Salud OS

edr_tuc 15-12-2007 01:34:42

hola egostar,gracias por responder,estoy usando tablas paradox .
ya probe con lo q me dijiste de cambiar el asdatetime cuando paso el parametro y sigue igual ,espero puedas ayudarme,saludos.-

egostar 15-12-2007 01:45:59

Cita:

Empezado por edr_tuc (Mensaje 252782)
hola egostar,gracias por responder,estoy usando tablas paradox .
ya probe con lo q me dijiste de cambiar el asdatetime cuando paso el parametro y sigue igual ,espero puedas ayudarme,saludos.-

Pues esta raro, acabo de probar tu codigo con una tabla paradox y funciona muy bien

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  a : TDateTime;
  b : String;
begin
  b:= '123';
  a:= StrtoDate('25/09/2007'); //Esto es lo mismo que Now, pero puedes poner Date también.
  Query1.Params[0].AsString := b;
  Query1.Params[1].AsDate  := a;
  Query1.ExecSql;
end;

Ahora, viendo tu comentario que esto lo haces en el evento OnShow, Estas haciendo una consulta despues para ver los resultados o que es lo que haces...

Salud OS

edr_tuc 15-12-2007 02:46:50

Cita:

Empezado por egostar (Mensaje 252783)
Pues esta raro, acabo de probar tu codigo con una tabla paradox y funciona muy bien


Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
a : TDateTime;
b : String;
begin
b:= '123';
a:= StrtoDate('25/09/2007'); //Esto es lo mismo que Now, pero puedes poner Date también.
Query1.Params[0].AsString := b;
Query1.Params[1].AsDate := a;
Query1.ExecSql;
end;





Ahora, viendo tu comentario que esto lo haces en el evento OnShow, Estas haciendo una consulta despues para ver los resultados o que es lo que haces...

Salud OS


Egostar ,AL rsultado lo veo con el database desktop porque no necesito verlos a los datos en tiempo de ejecucion ,

edr_tuc 15-12-2007 03:00:00

egostar,lo acabo de probar al codigo como lo pasaste vos,colocandolo en el evento onclick de un boton que agregue y mostrando en una grilla pero no me devuelve absolutamente nada,me parece rarisimo ,yo creia que la consulta esta correcta y me lo confirmaste vos,realmente no se cual puede ser el error ,espero puedas ayudarme hermano ,gracias desde ya
saludos.-


La franja horaria es GMT +2. Ahora son las 04:22:55.

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