Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-11-2023
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Puede ser muchas cosas, tendríamos que tener claro qué es exactamente lo que estás pasando y qué tipo de variables usas, incluso si en la BD estás usando dialecto 1 o 3.
Los campos fecha son números con decimales, la parte entera son los días transcurridos desde 31/12/1899 creo recordar, y la parte decimal es la hora.
Por probar, así de primeras, cambia el asdatetime por asdouble.
Otra cosa, tienes punto o coma decimal, esa es otra.
Hola Casimiro, gracias por contestar.

Delphi6 no me da la opción de AsDouble, no la tiene...

Como hago para ver que Dialect uso?. Lo Googlee y unos de los resultados me dio esta sentencia:

Código SQL [-]
SELECT MON$SQL_DIALECT FROM MON$DATABASE

Hilo iniciado por ENECUMENE en el foro de DELPHIACCESS, pero me dio error, no encuentra esa base, ha de funcionar para otra versión de FB mas nueva.

Ah...punto decimal o coma?...bueno en la configuración regional del W11, tengo la de MEXICO, "." punto para definir a los decimales y la "," para la separación de miles.

Variables, pues no uso para la captura del dato, solo el objeto TMaskEdit para la captura de la hora, en el caso que nos ocupa, ingresan esta hora: "01:41". los 2 puntos están definidos en la propiedad EditMask, que se debe grabar (save) la literal.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 10-11-2023 a las 20:12:01.
Responder Con Cita
  #2  
Antiguo 10-11-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Vayamos por parte, qué es StrToTime( mskHora.Text );
Responder Con Cita
  #3  
Antiguo 10-11-2023
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Vayamos por parte, qué es StrToTime( mskHora.Text );
Pues para convertir lo q contiene la propiedad TEXT del objeto TMaskEdit a un tipo de dato TIME...o como lo debo de decir a Delphi que el dato que contiene es del tipo TIME??...usé también StrToDateTime y marcó el mismo error...

Por otra parte, encontré como saber que Dialecto usa mi B.D

https://stackoverflow.com/questions/...rd-sql-dialect

Código SQL [-]
select 1/2 from rdb$database

Según comenta que si el resultado es 0 (entero) usa Dialect 3 y si da 0.500000 (Double Precision) es Dialect 1...me dio 0 (Entero), cosa extraña porque el MSG q me envía Delphi hace pensar que mi B.D. es Dialect 1!!

Tendrá algo q ver el CharSet??...lo tengo en "None" y el "Font Character Set" en "ANSI_CHARSET"
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 10-11-2023 a las 20:50:54.
Responder Con Cita
  #4  
Antiguo 10-11-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
A ver, te pregunto por la función strtotime para ver cómo lo haces, porque supongo que es tuya, eso no es de delphi.
Para ver el dialecto basta con abrir la bd con ibexpert y ver sus propiedades, o también ejecuta lo siguiente:
Código SQL [-]
SELECT mon$sql_dialect FROM MON$DATABASE;
Responder Con Cita
  #5  
Antiguo 10-11-2023
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
A ver, te pregunto por la función strtotime para ver cómo lo haces, porque supongo que es tuya, eso no es de delphi.
Para ver el dialecto basta con abrir la bd con ibexpert y ver sus propiedades, o también ejecuta lo siguiente:
Código SQL [-]
SELECT mon$sql_dialect FROM MON$DATABASE;
La sentencia que me enviaste me marca error:

Código:
Undefined name.
Dynamic SQL Error.
SQL error code = -204.
Table unknown.
MON$DATABASE.
At line 1, column 29.
y la función no es mia, es de DELPHI

https://www.delphibasics.co.uk/RTL.php?Name=StrToTime
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #6  
Antiguo 10-11-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ah, pensé que era tuya y que devolvía un time, pero si es la propia de delphi entonces devuelve un datetime.
¿Seguro que el campo en la BD es datetime?


Si no te funciona el select que he puesto antes entonces es que la versión de firebird que usas todavía no lo tenía implementado, por lo que estás usando el dialecto 1.


¿Puedes copiarnos la estructura de la tabla de tu base de datos y algún ejemplo de código para probar?
Responder Con Cita
  #7  
Antiguo 10-11-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por cierto, ¿has seguido el programa con el "debug" para ver qué valor tiene mskHora.Text cuando se le pasa a la función?
Vaya a ser que la máscara añada algo incorrecto, como espacios o no sé, por asegurar de que tiene valor correcto.
Responder Con Cita
  #8  
Antiguo 10-11-2023
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Ah, pensé que era tuya y que devolvía un time, pero si es la propia de delphi entonces devuelve un datetime.
¿Seguro que el campo en la BD es datetime?
Bueno, el campo esta definido como TIMESTAMP...
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #9  
Antiguo 10-11-2023
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Puedes copiarnos la estructura de la tabla de tu base de datos y algún ejemplo de código para probar?
La estructura de la tabla:

Código SQL [-]
CREATE TABLE VENTA (
    CVE_PUNTO_VENTA              NUMERIC(10,0) NOT NULL,
    COSTO_LITRO                  NUMERIC(8,2),
    FECHA_REGISTRO_VENTA         DATE,
    FECHA_ACTUALIZACION          DATE,
    ANIO_PERIODO_CIERRE          NUMERIC(4,0),
    CLAVE_RUTA                   NUMERIC(4,0),
    OBSERVACIONES_DISTRIBUCION   BLOB SUB_TYPE 1 SEGMENT SIZE 80,
    USUARIO_ACTUALIZADOR         VARCHAR(15),
    USUARIO_REGISTRADOR          VARCHAR(15),
    HORA_ENTREGA                 TIMESTAMP,
    FOLIO_IMPRESO                NUMERIC(10,0),
    CLAVE_PLANTA                 NUMERIC(5,0),
    CLAVE_RUTA_REPARTIDOR        NUMERIC(5,0),
    CLAVE_CIA                    NUMERIC(5,0),
    SECUENCIA_DISTRIBUCION       NUMERIC(2,0),
    RESPONSABLE_DEVOLUCION       NUMERIC(1,0),
    HORA_ENTREGA_TXT             VARCHAR(5),
    CONTINGENCIA                 VARCHAR(1)
);
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TimeStamp Willo MySQL 4 22-03-2016 21:15:00
Is not a valid integer value joancmb Varios 9 19-03-2013 14:10:58
TimeStamp = TimeStamp me da error Chogo Firebird e Interbase 7 16-03-2011 04:13:38
not valid floating merlin Conexión con bases de datos 1 21-07-2004 13:18:53
Timestamp y bde 5.2 Toni Firebird e Interbase 2 27-05-2003 09:26:33


La franja horaria es GMT +2. Ahora son las 23:42:36.


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
Copyright 1996-2007 Club Delphi