Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   conversion error from string "0:00:00" (https://www.clubdelphi.com/foros/showthread.php?t=73824)

Vales08 18-05-2011 20:45:36

conversion error from string "0:00:00"
 
Hola a todos..
Me salta este error cuando quiero cargar una fecha.. uso TDataTimePicker.
De un momento a otro me empezo a saltar.. antes funcionaba perfecto..
tendra que ver algo este codigo??

DM.DSET_profFECHA_DE_NAC.Value:=Trunc(fecha_prof_a.Date);

DM= nombre del data module
DSET_prof= dataset de tabla profesional
fecha_prof_a= nombre del datatimepicker

trabajo con sql manager, delphi7
en la base de datos a fecha la tengo definida como date..

desde ya muchas gracias...-

duilioisola 18-05-2011 22:35:59

Prueba así:
Código Delphi [-]
DM.DSET_profFECHA_DE_NAC.AsDateTime := Trunc(fecha_prof_a.Date);

Sería de ayuda que informaras qué motor de base de datos y qué componentes para acceder utilizas.

Vales08 19-05-2011 00:59:05

no me funciona, desabilito esa linea de codigo y tambien me tira ese error.. estoy usando datetimepicker, en sql manager tengo definida la fecha como date..
Tengo q convertir la fecha a string o algo asi??

el codigo que habia mostrado era para que se guardde solamente la fecha sin la hora, pero lo saco y me hace lo mismo..

duilioisola 19-05-2011 08:39:33

Sigues sin decirnos cual es la base de datos... (Firebird, MySQL, SQL Server, ...)

Deberías decirnos también el SQL que contiene el Dataset, pues puede que el problema esté ahí.

También podrías poner un poco más de código... unas cuantas líneas anteriores y algunas posteriores, para ver si el problema está en otro lugar...

El mensaje exacto y completo del error en su idioma original siempre es de mucha ayuda.

Varios compañeros en el club firman así:

Cita:

La calidad de la respuesta es directamente proporcional al tiempo empleado para realizar la pregunta.
Y no digo más... :rolleyes:

Casimiro Notevi 19-05-2011 08:56:56

Sólo has de seguir las normas de clubdelphi y, por supuesto, las recomendaciones de duilioisola.

newtron 19-05-2011 09:46:56

Hola.

Yo no uso el datatimepicker pero da la impresión que te devuelve la hora en vez de la fecha, ¿no estará configurado para eso?.

Saludos

Vales08 19-05-2011 18:03:11

Cita:

Empezado por duilioisola (Mensaje 400601)
Sigues sin decirnos cual es la base de datos... (Firebird, MySQL, SQL Server, ...)

Deberías decirnos también el SQL que contiene el Dataset, pues puede que el problema esté ahí.

También podrías poner un poco más de código... unas cuantas líneas anteriores y algunas posteriores, para ver si el problema está en otro lugar...

El mensaje exacto y completo del error en su idioma original siempre es de mucha ayuda.

Varios compañeros en el club firman así:



Y no digo más... :rolleyes:



Eh aclarado perfectamente que estoy trabajando con SQL manager, que en la base de datos tengo declarada la FECHA de type DATE.. y el error es excatamente el que les eh puesto en el titulo "conversion error from string "0:00:00" ".

Este componente (DateTimePicker) te guarda por defecto, en la base de datos la fecha junto con la hora. yo para que no suceda eso lo unico que eh hecho es agregarle la linea de codigo siguiente:

Código:

DM.DSET_profFECHA_DE_NAC.Value:=Trunc(fecha_prof_a.Date);
Donde lo que realiza es trucar la fecha, descartando la hora, es decir, que guarde solamente la FECHA. (Codigo extraido de ClubDelphi)
El codigo funcionaba perfecto, hasta que en un momento empezo a saltar ese error..

Vales08 19-05-2011 18:12:27

Problema resuelto
 
Muchas gracias por su aporte, pero el problema ya lo eh resuelto..
Voy a explicarles como, para que le sirva a alguien que se le pueda presentar la misma situacion..

Yo cuando puse el codigo de truncar la fecha, en delphi, en la base de datos tenia el campo FECHA declarado de type DATE, todo normal.
En un momento a ese campo lo modifique marcandolo como campo NOTNULL, ya que lo necesitaba para lo que estoy haciendo.. Resulta que al declararlo NOTNULL, por defecto me toma el valor '0:00:00' en la base de datos.
Por esta razón, cuando quiero ingresar la FECHA en delphi, me salta el error. Porque al truncarla, nunca me toma el valor que esta declarado por defecto en la base de datos..
Ahora le saque el NOTNULL y todo funciona perfectamente..

Espero haya sido lo mas clara posible.. Muchas gracias por su aporte y disculpen si no me habia explicado bien anteriormente..
Igual repito, los datos q me pedian de cual base estaba utilizando yo ya lo habia declarado con la misma pregunta.. Me gustaria que lean bien antes para no provocar malos entendidos.

Saludos.-

duilioisola 19-05-2011 18:22:21

He
Cita:

aclarado perfectamente que estoy trabajando con SQL manager
No conozco la base de datos SQL Manager.
Se que existe una herramienta SQL Manager que trabaja con varias bases de datos (motores de bases de datos).

Puede ser que hayas cambiado la versión de Base de datos (el motor, no la herramienta) y que por eso te empiece a dar errores.

¿Con qué componentes trabajas?
DBExpress, ADO, otros...
¿Te conectas por ODBC? puede que alguna actualización de Windows haya modificado algo

Cita:

Deberías decirnos también el SQL que contiene el Dataset
Los componetes suelen generar un SQL para el select, otro para el insert, update y delete.
En este caso *parece* que el update es el que deberías mostrarnos.

Cita:

También podrías poner un poco más de código
Esto es importante y más de una vez el error se da porque un poco más arriba o más abajo en el código se comete una "burrada".
A veces son cosas que no se inicializan o se reinicializan después de haberlas asignado.

¿Tiene triggers tu base?
A veces algún trigger modifica el valor que tu asignas desde Delphi.

Como podrás apreciar, hay mucha información que te falta dar para que podamos encontrar algún error. Lo único que sabemos es:
  • Texto del error: "conversion error from string "0:00:00" "
  • Punto en el programa donde da el error: DM.DSET_profFECHA_DE_NAC.Value:=Trunc(fecha_prof_a.Date);
  • Cambiar .Value por .AsDateTime no soluciona el error

Si te decides a mostrarnos un poco más de tu código (Delphi / SQL), quizás podamos ayudarte un poco más...

Casimiro Notevi 19-05-2011 19:01:05

Cita:

Empezado por Vales08 (Mensaje 400662)
[..]
Espero haya sido lo mas clara posible.. Muchas gracias por su aporte y disculpen si no me habia explicado bien anteriormente..
Igual repito, los datos q me pedian de cual base estaba utilizando yo ya lo habia declarado con la misma pregunta.. Me gustaria que lean bien antes para no provocar malos entendidos.
Saludos.-

Pues no, no has sido nada clara. Y no existe ninguna base de datos sql manager, ya te lo ha explicado duilioisola.
Y es que no se puede ir a un sitio a pedir ayuda y luego tratar a quien te ayuda hablándole de esa manera. Espero que la próxima vez sea distinto.


La franja horaria es GMT +2. Ahora son las 15:31:04.

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