Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   problemas con dato fecha (https://www.clubdelphi.com/foros/showthread.php?t=76271)

elgauchopablo 20-10-2011 03:41:44

problemas con dato fecha
 
hola, soy nuevo en este club, gracias por aceptarme.
estoy haciendo un programa de carga de afiliados y trabajando con mysql, el problema es que al cargar la fecha de nacimiento, me da error si quiero ingresar una fecha posterior a la del dia, por ejemplo ingreso 01/12/1977 y no me lo toma, pero si ingreso la fecha de hoy lo toma, por favor si alguien tiene una respuesta les agradeceria. saludos
Pablo

Caral 20-10-2011 03:47:40

Hola
No entiendo bien.
Seria interesante ver el codigo con el que cargas la informacion.
Saludos

elgauchopablo 20-10-2011 04:15:53

ahi te paso
 
hola gracias por responder ahi te paso las lineas con las q cargo los datos.
Código Delphi [-]
procedure TFcarga.BgrabarClick(Sender: TObject);
begin
  with DB.Tafiliados do
  begin
    Active := true;
    Db.Tafiliados.Insert;
    CachedUpdates := true;
    db.Tafiliados.fieldByname('apeynombre').AsString := Eapeynom.Text;
    db.Tafiliados.fieldByname('fn').AsDateTime := dtpfn.Date;
    db.Tafiliados.fieldByname('nacionalidad').AsString := Enacion.Text;
    db.Tafiliados.fieldByname('estadocivil').AsString :=Cestadocivil.Text;
    db.Tafiliados.fieldByname('dni').AsInteger :=StrToint(Edni.Text);
    db.Tafiliados.fieldByname('establecimiento').AsString:= Eestableci.Text;
    db.Tafiliados.fieldByname('categoria').AsString := Csiprosa.Text;
    db.Tafiliados.fieldByname('leg').AsInteger :=StrToInt(Elegajo.Text);
    db.Tafiliados.fieldByname('profesion').AsString:= Eprofesion.Text;
    db.Tafiliados.fieldByname('situacionderevista').AsString:= Crevista.Text;
    db.Tafiliados.fieldByname('domicilio').AsString:= Edomicilio.Text;
    db.Tafiliados.fieldByname('telefono').AsInteger:= StrToInt(Etelf.Text);
    db.Tafiliados.fieldByname('email').AsString:= EEmail.Text;
    db.Tafiliados.fieldByname('fechaalta').AsDateTime:=DateFalta.Date  ;
    db.Tafiliados.post;
    ApplyUpdates;
  end;
end;

saludos Pablo

ecfisa 20-10-2011 05:46:37

Hola Pablo.

Como a todos los recién ingresados te invitamos a que leas nuestra Guía de estilo.

Te comento que encerrando tu código Delphi entre las etiquetas [delphi] [/delphi] , respetará la identación y el remarcado de la sintáxis del editor Delphi, dando mayor legibilidad. Ya las agregué a tu mensaje y como verás está más entendible.
Bueno nada más que esas sugerencias...:)

En cuanto a tu consulta, ya veo que estas en buenas manos así que: Bienvenido al Club Delphi :)

Caral 20-10-2011 18:37:36

Hola
Parece que las dos fechas que tienes en la BD son, la de nacimiento y la de alta.
Las dos según parece son obtenidas de un datetimepicker cada una.
Las dos, supongo se inicializan (date.now).
Lo raro es que solo una de ellas de problemas ya que parece que esta bien el codigo.
Yo revisaría si hay algún otro codigo que afecte y el tipo de campo.
Saludos

elgauchopablo 21-10-2011 00:47:01

Hola donde deberia inicializar las fechas? puede ser que no este haciendo eso.


Muchas gracias por contestar saludos

Caral 21-10-2011 02:56:42

Hola
Normalmente el datetimepicker se inicia, osea, se coloca la fecha en NOW para que siempre quede actualizado este componente.
Eso se puede hacer en cualquier evento, podria ser en el evento oncreate el form.
Lo que haces es implemente poner el nombre del datetimepicker seguido de now, algo asi:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
 dtpfn.DateTime := Now;
 DateFalta.DateTime:= Now;
end;
No se si sera lo que genera el error.
Saludos

cubanbaker 21-10-2011 06:36:41

Yo probé el código y me funciona bien... No me genera ningún error, al menos lo que publicaste. Incluso sin actualizar el datetimepicker. El error no debe estar ahí.
Le has caío atrás al error? Prueba el debug a ver...

elgauchopablo 06-11-2011 04:05:40

hola, recien me doy cuenta, puede ser por q estoy trabajando bajo win 7 ? gracias por contestar saludos

ecfisa 06-11-2011 15:02:28

Hola.

Releyendo tu primer mensaje veo que mencionas:
Cita:

me da error si quiero ingresar una fecha posterior a la del dia, por ejemplo ingreso 01/12/1977 y no me lo toma
Creo que sería de gran ayuda que nos comentes exáctamente el mensaje de error que recibis cuando la fecha es posterior a la actual.

Un saludo.

elgauchopablo 07-11-2011 01:11:27

Hola el error es
 
Hola el erro dice asi:
Proyect principal.exe raised exception class Edatabase error whith mensage´Tafiliados: dataset not in edit or insert mode´,Process Stoppep. use step o run to continue.
ese es el erro q sale, lo copie igual.
Saludos y gracias

ecfisa 07-11-2011 01:47:37

Hola Pablo.

Mirando el código de tu primer mensaje y el error que mencionas ahora, estoy convencido que el código de algún evento de Tafiliados está sacando al DataSet del modo Insert.
Es probable que sea en BeforeInsert u OnScroll. Pero no descartes ninguno, revisa cualquiera en el que hayas escrito algún código.

Un saludo.

elgauchopablo 09-11-2011 00:27:39

alguna solucion
 
Cita:

Empezado por ecfisa (Mensaje 417770)
Hola Pablo.

Mirando el código de tu primer mensaje y el error que mencionas ahora, estoy convencido que el código de algún evento de Tafiliados está sacando al DataSet del modo Insert.
Es probable que sea en BeforeInsert u OnScroll. Pero no descartes ninguno, revisa cualquiera en el que hayas escrito algún código.

Un saludo.

Hola hay alguna solucion a este problema, por favor si lo tiene me lo pasan.
Gracias y saludos

ecfisa 09-11-2011 00:53:46

Cita:

Empezado por elgauchopablo (Mensaje 417952)
Hola hay alguna solucion a este problema, por favor si lo tiene me lo pasan.
Gracias y saludos

Hola.

Sin ver el código de los eventos para nosotros sería imposible.

Un saludo.


La franja horaria es GMT +2. Ahora son las 16:23:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi