Ir al contenido



Foto

Como cargar la fecha del servidor mysql con zeos


  • Por favor identifícate para responder
5 respuestas en este tema

#1 Jorge91

Jorge91

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 21 mayo 2018 - 04:15

Hola, necesito una ayuda cuanto antes porfavor. La cuestion es que tengo mi aplicacion conectada a mysql, estoy utilizando Zeos y necesito mostrar en un edit o guardar en una variable la fecha que tenga el servidor mysql. Tengo algo asi  pero me da un error de argumento fuera de rango


delphi
  1. ZQuery1.Close;
  2. ZQuery1.SQL.Clear;
  3. ZQuery1.SQL.text:='Select Curtime()';
  4. ZQuery1.Open;
  5. ZQuery1.ExecSQL;
  6. edit1.text := zquery1.Fields[0].value;


  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.324 mensajes
  • LocationRepública Dominicana

Escrito 21 mayo 2018 - 04:33

ExecSQL se usa sólo con UPDATE e INSERT y Open Con SELECT:


delphi
  1. ZQuery1.Close;
  2. try
  3. ZQuery1.SQL.Clear;
  4. ZQuery1.SQL.Add('select current_date()');
  5. ZQuery1.Open;
  6.  
  7. Edit1.Text := FormatDateTime('dd/MM/yyyy',ZQuery1.Fields[0].AsDateTime);
  8. except
  9. raise Exception.Create('¡Ocurrió un problema al intentar obtener la fecha!');
  10. end

Saludos.


  • 1

#3 Jorge91

Jorge91

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 21 mayo 2018 - 07:18

Muchisimas gracias, es justo lo q necesito, una pregunta mas, de la misma consulta puedo sacar la fecha y hora del servidor mysql y mostrarlos en edit por separados, es decir, la fecha en un edit y la hora en otro, o tengo que hacer otra consulta para eso. Si me pueden responder con el ejemplo mejor aún. Gracias!!!!


  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.118 mensajes
  • LocationArgentina

Escrito 21 mayo 2018 - 09:44

No necesitas otra consulta. Lo puedes obtener del registro que trae. Debes extraer la parte que te interesa en cuestión. Delphi cuenta con funciones para eso. DecodeTime y DecodeDate por ejemplo pueden devolverte las partes de cada una. Ten presente que eso hace que la otra parte del DateTime devuelto sea "cero. Ya con eso puedes mostrarlo en TEdits.
También en lugar de trozarlo directamente usas la función DateTimeFormat() o alguna de sus variantes y le das formato fecha para un TEdit y un formato hora para el otro.

Te aconsejo leer la ayuda de Delphi. Busca sobre DateUtils que es la unir en donde residen las mayoría de las funciones que he comentado.


Saludos.
  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.324 mensajes
  • LocationRepública Dominicana

Escrito 22 mayo 2018 - 08:16


delphi
  1. ZQuery1.Close;
  2. try
  3. ZQuery1.SQL.Clear;
  4. ZQuery1.SQL.Add('select current_date(), current_time()');
  5. ZQuery1.Open;
  6.  
  7. Edit1.Text := FormatDateTime('dd/MM/yyyy',ZQuery1.Fields[0].AsDateTime);
  8. Edit2.Text := FormatDateTime('hh:mm:ss',ZQuery1.Fields[1].AsDateTime);
  9. except
  10. raise Exception.Create('¡Ocurrió un problema al intentar obtener la fecha!');
  11. end;

Alternativa:


delphi
  1. ZQuery1.Close;
  2. try
  3. ZQuery1.SQL.Clear;
  4. ZQuery1.SQL.Add('select current_timestamp()');
  5. ZQuery1.Open;
  6.  
  7. Edit1.Text := FormatDateTime('dd/MM/yyyy',ZQuery1.Fields[0].AsDateTime);
  8. Edit2.Text := FormatDateTime('hh:mm:ss',ZQuery1.Fields[0].AsDateTime);
  9. except
  10. raise Exception.Create('¡Ocurrió un problema al intentar obtener la fecha!');
  11. end;


  • 0

#6 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.118 mensajes
  • LocationArgentina

Escrito 22 mayo 2018 - 03:47

Pues eso. Hazle caso a Enecumene, que tiene más fresco y a mano Delphi para comprobar que es FormatDateTime() y no DateTimeFormat() como yo lo estaba recordando...

Esto de tocar poco Delphi y demasiado PHP me está haciendo daño. :(

 

Saludos,


  • 0