![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Type mismatch for field
Hola a todos.
Estoy realizando una aplicacion dataSnap (Cliente-Servidor) con delphi 10 Seatle y cuando llego a una parte determinada del programa de que me tiene que mostrar en un DBGrid los datos de una tabla me sale el siguiente error: "Type mismatch for field 'PRESUPUESTO', expecting: BCD actual: FMTBcdField." No se como arreglarlo. Utilizo FireBird 2.5. He creado el campo PRESPUESTO como NUMERIC(12,2). Lo cierto es que me da el problema cuando intento dar formato al campo para que se visualice en el DBGRiD con los puntos y las comas, porque si no llamo al campo, funciona la aplicación sin problemas, pero no se muestra el campo con formato. (Ejemplo 1585.85 se mostraría como 1,585.85). Agradecería ayuda, porque estoy atascado en este punto. He leido algo por ahí pero no me aclara nada. Saludos y gracias. |
#2
|
||||
|
||||
¿Qué componentes de acceso a datos usas? ¿DbXpress? ¿Firedac? ¿OTros?
A mi en DBXpress me ha aparecido a veces ese error, pero se corregía cogiendo el editor de campos de la tabla, eliminando el campo y volviéndolo a recargar... El motivo por el que hacía eso lo desconozco, la verdad, pero se me arreglaba recargando los datos de campos Tampoco he usado la versión Seatle, eso me pasó en XEn, por lo que a lo mejor tampoco es tu caso Saludos |
#3
|
|||
|
|||
Utilizo Firedac, ayer estuve quitando y añadiendo los campos muchas veces y no se arreglaba nada, incluso intenté cambiar el tipo en la base de datos de numeric a Float pero no me lo permitía el SQL Manager Lite.
Saludos |
#4
|
||||
|
||||
Yo creo que el problema esta en como interpreta FireDAC estos campos. Esto lo podes solucionar estableciendo las reglas para mapear los campos
Revisa esto: FireDAC Data Type Mappings Y lee el punto 6 de BDE Application Migration Estoy seguro de que habia un seminario online pero no lo encuentro rapidamente, deberia estar en el canal de Embarcadero Al parecer esta interpretando tu campo como un TBCDField cuando a lo mejor necesitas un currency o un double BCD = Binary coded decimal. Documentacion |
#5
|
|||
|
|||
Gracias por vuestras respuestas.
Gracias especialmente a AgustinOrtu, aunque tanta información que me has facilitado me ha acomplejado un poco. Al final lo he solucinado, ¿como?, pues después de probar y combinar muchas cosas, al final ha tocado la flauta de la siguiente forma: Me fuí a la base de datos y modifique la tabla en cuestión y todos los campos que estaban definidos en Firebird como NUMERIC(8,2), les he cambiado el tipo de dato poniendolos a FLOAT, y problema resuelto. He vuelto a llamar a los campos persistentes y funcionando. No se si es la opción mas profesional de arreglarlo, pero al menos me permite seguir. Lo dicho gracias a todos. |
#6
|
||||
|
||||
Eso te traerá un problema añadido, los campos float no tienen "precisión", así que cuando hagas cálculos no se guardarán valores "correctos", ejemplo figurado, 10/3=3.33333333333 pero seguramente te guardará: 3.32 o algo similar, así que no te interesa si son campos con los que harás cálculos.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
|||
|
|||
Cita:
Llevas razón, pero es que no se me ocurre otra cosa para avanzar. Cada vez que realice cálculos haré redondeos, no obstante, voy a probar a cambiar a otro tipo de datos en los campos a ver si tengo suerte y no me da el "dichoso" error. Gracias por tu apreciación. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error: type mismatch | Nicolas_2011 | Varios | 5 | 01-01-2013 23:43:14 |
type mismatch for field 'Factura_Inicio', expecting:float actual: string. | chileno | Conexión con bases de datos | 10 | 29-09-2006 17:47:15 |
Error: Type mismatch in expression | gusanita | Varios | 11 | 28-01-2006 18:12:17 |
type mismatch in expression | noe | SQL | 1 | 12-02-2005 02:41:26 |
Query: Type Mismatch in Expresion | jdangosto | SQL | 2 | 01-10-2004 08:21:38 |
![]() |
|