Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Error actualizando campo DATE en MySQL (https://www.clubdelphi.com/foros/showthread.php?t=79168)

eldense 13-06-2012 14:31:02

Error actualizando campo DATE en MySQL
 
Saludos. Hacía tiempo que ya no escribía.

No he encontrado nada para este error ni aquí ni en ningún lado, así que a ver si ha alguien le ha ocurrido lo siguiente:

Estoy desarrollando un aplicación con Delphi 2010 y MySQL, conectados por componentes dbGO (ADO), y las tablas que tienen fechas y el campo es del tipo DATE, me ocurre lo siguiente:
Si creo un registro nuevo y los campos DATE estan en blanco, despues no los puedo cambiar desde la aplicacion, usando el comando:
dataset.edit;
dasetfecha.asstring := edit1.text; (verificando que el edit1 sea una fecha correcta)
dataset.post;

Al hacer el post me devuelve el siguiente error: "no se puede encontrar la fila para su actualizacion: algunos valores han cambiado desde la ultima vez que se leyo".

Aclarar que estoy yo solo accediendo a la base de datos

Este error sale cuando el valor anterior es el mismo valor a actualizar o es default de la base de datos (en mi caso 0000-00-00)
Obviamente he hecho un filtro para que si es igual se salte la edicion, pero necesito poder cambiar de fecha vacia a la nueva fecha.

Por si os sirve de algo, como al crear la tabla de la BD me obligaba a poner un valor por defecto, puse 0000-00-00.

En fin, no se si me he expresado bien, y si ha alguien se le ocurre que hacer.

Gracias de antemano a todos!

MartinS 13-06-2012 15:00:49

y asi:

Código Delphi [-]
dataset.edit;
dasetfecha.AsDateTime := StrToDate(edit1.text);
dataset.post;

y si necesitas algun formato especial en la fecha

Código Delphi [-]
dasetfecha.AsDateTime := StrToDate(FormatDateTime('dd/mm/yyyy',StrToDate(Edit1.Text)));


Creo que deberías comenzar a incorporar SQL al código. Revisa la documentación del foro que hay mucha.-

Saludos


La franja horaria es GMT +2. Ahora son las 18:26:49.

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