PDA

Ver la Versión Completa : Problema usando datetimepicker con MySql


tebyr
17-11-2004, 19:00:11
Saludos..

Bueno mi problema es el siguiente, estoy tratando de capturar una fecha desde un datetimepicker y luego insertarla en una tabla de mysql.

El codigo que uso para tal fin es el siguiente:
bdgmc.tbl_docn.FieldByName('Fech_Nac').AsDateTime:=strtodate(formatdatetime('yyyy/MM/dd',dtpck_nac.DateTime));

El campo fech_nac es tipo date. Cuando le doy insertar me aparece un error que me dice que no es un tipo date valido.

Quedo a la espera de su colaboracion, y si no pueden ayudarme les agradezco el hecho de leer este hilo.

Gracias :cool:

roman
17-11-2004, 19:25:27
Este no es un problema de MySql. El error te lo está mandando la función StrToDate.

StrToDate espera una fecha formada de acuerdo a lo establecido en las variables globales DateSeparator y ShortDateFormat que se inicializan de acuerdo a la configuración regional de tu sistema el cuál seguramente no corresponde a yyyy/MM/dd.

Lo que no entiendo es para qué tanta conversión.

AsDateTime es de tipo TDateTime y DateTimePicker.DateTime es de tipo TDateTime de manera que no veo la necesidad de pasar a string y de vuelta a TDateTime.

No sé qué componentes uses para acceder a MySql pero normalmente AsDate se encargará internamente de mandar la fecha en el formato que espera el servidor de forma que no requieres hacer tú mismo la conversión.

// Saludos

tebyr
17-11-2004, 20:15:45
bueno, estoy usando opara el ingreso a mysql un table normal, solo que cuando trato de insertar los datos de esta forma:
bdgmc.tbl_docn.FieldByName('Fech_Nac').AsDateTime:=dtpck_nac.DateTime;
y me sale un error cuando trato de guardar, la razon, es porque date time, trae ademas de la fecha, la hora, y solo necesito que me saque la fecha. Entonces uso conversion para ademas de sacar la fecha, pasarla en formato YYYY/MM/DD
que es el que maneja mysql.

Te agradezco la atencion, y espero que me puedas ayudar.

roman
17-11-2004, 20:21:38
y me sale un error cuando trato de guardar


¿Y qué error es ese?

Yo lo he probado con las componentes Zeos y me funciona perfecto. En todo caso intenta usar:

bdgmc.tbl_docn.FieldByName('Fech_Nac').AsDateTime:=dtpck_nac.Date;

// Saludos

tebyr
17-11-2004, 20:38:24
el error completo es project1.exe raised exception class econverterror with message "is not a valid date". process stoped use step or run to continue

este error es en tiempo de ejecucion.

otra cosita donde puedo conseguir los componentes zeos ya que yo trabajo a traves de odbc.

gracias por tu atencion

edgusano
19-11-2004, 17:38:39
Las Componentes Zeos las podes conseguir aqui (http://prdownloads.sourceforge.net/zeoslib/zeosdbo-6.1.5-stable.zip?download).:cool: