FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Desde luego que siempre estáis ahi para ayudar. Muchas gracias por vuestras recomendaciones y consejos. Lo probará como decís y ya que no tiene demasiada complicación seguro que solucionaré el problema.
Gracias de nuevo. |
#2
|
||||
|
||||
Para que tengas claro la importancia de usar parametros:
https://es.wikipedia.org/wiki/Inyección_SQL
__________________
El malabarista. |
#3
|
|||
|
|||
Saludos, el problema de manejar las fechas de esa manera es que el motor Firebird las maneja en formato mm/dd/aaaa y en mi país las fechas se deben representar dd/mm/yyy. Para manejar las fechas sin el uso de parámetros me toco elaborar (no me acuerdo si fue copiada de algún la lado) una función para que tome un TDate y lo devuelva una cadena.
__________________
Luis Fernando Buelvas T. |
#4
|
||||
|
||||
No, firebird no guarda los campos fecha de esa manera, los campos fecha y los fechahora, son números, ejemplo: 34248,17238173917
La parte entera 34248 son los días transcurridos desde 31/12/1895 (creo recordar, no recuerda la fecha exacta) y la parte decimal es la hora, cuando llega a 34248.999999999999 pasa a 34249.00000000000 que es un día más. |
#5
|
|||
|
|||
Hola Casimiro, no me refiero a la representación interna sino a la forma en que Firebird muestra los campos Date al usuario
__________________
Luis Fernando Buelvas T. |
#6
|
||||
|
||||
No necesitas hacer eso, Dephi tiene funciones que lo hacen por ti, concretamente FormatDateTime.
Y aquí tienes listada un montón más de funciones con fechas: https://delphiallimite.blogspot.com/...cha-y.html?m=0 |
#7
|
||||
|
||||
Firebird los presenta como tú quieras. Firebird es un gestor de bases de datos "servidor", le da igual la presentación, eso lo deja al "cliente".
|
#8
|
||||
|
||||
En otras palabras, internamente, no tienes porque hacer "malabares" si usas los tipos de datos correctos. Unicamente haces conversiones en tus entradas/salidas del/al "exterior". Eso significa que ademas, "alinea" el uso de tus tipos con lo que te da el lenguage.
En concreto, Delphi tiene de planta y por terceros un MONTON de controles y librerias que felizmente te permiten usar DateTime como DateTimes, Monedas como monedas, horas como horas, sin pasar por conversiones manuales a texto. Esto siginifica que piensa asi: Problema: Tengo que usar fechas Hay un tipo fecha en delphi y/o BD y/ lo que sea?
Hay un CONTROL para fechas?
En este instante veo una vble o campo que se supone es fecha. USA EL TIPO CORRECTO?
Ahora, si la fuente de entrada/salida no tiene ese tipo "nativo" (ej: Lees de un archivo de csv) entonces: Conviertes TODOS los campos al tipo correcto JUNTO con la lectura
y al final lo devuelves:
eso solamente debe existir A LA ENTRADA/SALIDA del mundo exterior. En TODOS los demas lugares usas el tipo correcto! ---- Esto se extiende. Si estas facturando y tienes unos estados como "Borrador", "En Proceso", "Pagado", entonces lo correcto es crear un tipo:
Aunque no lo parezca, esto reduce un MONTON de codigo repetido (ej: Estar chequeando por todos lados si el "estado" esta vacio, o preocuparse si esta o no en mayusculas, etc. Con un tipo, todo eso desaparece). Junto con hacer test redundantes (sera que si guarda el estado que es?). Y si hay un error en el parseo de datos, no tienes que ir a chequear en cientos de lugares. Solo hay 2 opciones: convertir_desde, convertir_hacia.
__________________
El malabarista. Última edición por mamcx fecha: 05-06-2020 a las 15:47:48. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda BD Access? Ayuda al modificar!! | DarkArias | Conexión con bases de datos | 4 | 24-08-2013 23:47:41 |
Instalar Ayuda (.HLP) en la Ayuda de Delphi? | MasterXP | Varios | 6 | 12-04-2006 06:57:49 |
Ayuda para crear ayuda... | Gabriel2 | Varios | 2 | 10-06-2005 00:15:18 |
ayuda con strtofloat, ayuda punto flotante | TURING | Varios | 5 | 30-04-2004 08:03:59 |
Ayuda Con Instalacion De Archivos De Ayuda | Legolas | Varios | 1 | 01-12-2003 14:48:03 |
|