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 15-12-2007
edr_tuc edr_tuc is offline
Miembro
 
Registrado: dic 2007
Posts: 18
Poder: 0
edr_tuc Va por buen camino
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 .-
Responder Con Cita
  #2  
Antiguo 15-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
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
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 15-12-2007
edr_tuc edr_tuc is offline
Miembro
 
Registrado: dic 2007
Posts: 18
Poder: 0
edr_tuc Va por buen camino
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.-
Responder Con Cita
  #4  
Antiguo 15-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por edr_tuc Ver Mensaje
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
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 15-12-2007
edr_tuc edr_tuc is offline
Miembro
 
Registrado: dic 2007
Posts: 18
Poder: 0
edr_tuc Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
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 ,
Responder Con Cita
  #6  
Antiguo 15-12-2007
edr_tuc edr_tuc is offline
Miembro
 
Registrado: dic 2007
Posts: 18
Poder: 0
edr_tuc Va por buen camino
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.-
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
Update con Inner Join Funciona en Access pero no en firebird Acanol Firebird e Interbase 7 27-05-2012 01:25:48
como hago???? afrodita Varios 3 27-08-2004 01:12:07
Como lo hago? danytorres SQL 4 08-06-2004 14:27:42
Como hago... Andres_Franco Varios 1 08-01-2004 17:34:19
Como lo hago¿ MANUEL OVAL SQL 6 31-10-2003 14:43:39


La franja horaria es GMT +2. Ahora son las 12:46:14.


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