PDA

Ver la Versión Completa : problemas con dato fecha


elgauchopablo
20-10-2011, 03:41:44
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
hola gracias por responder ahi te paso las lineas con las q cargo los datos.

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 (http://www.clubdelphi.com/foros/guiaestilo.php).

Te comento que encerrando tu código Delphi entre las etiquetas , 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:

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:

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 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
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
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.