FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Se come los decimales el DBGRID
Pues eso que tengo problemas con el dbgrid de 1 base de datos
Siendo el valor 0,25 o 0,5 siempre me saca 0 en el dbgrid. Tambien tengo el mismo problema para garbar ya que en el edit le pongo 0,25 y en la base de datos queda grabado 0 He visto este hilo en el foro http://www.clubdelphi.com/foros/show...ight=decimales pero no encuentro el "displayformat" del que en el hablan |
#2
|
|||
|
|||
El campo de tu tabla tiene formato decimal?
El DisplayFormat es una propiedad de los TFields, es decir, de los campos persistentes de una tabla. Para verlos (añadirlos / modificarlos), haz doble clic encima de tu Dataset. Esto hará que te aparezca una pantallita. Clica con el botón derecho y selecciona Add All Fields. Se añadirán todos los campos de tu tabla y, seleccionando uno de ellos, verás sus propiedades y, entre ellas, está el DisplayFormat |
#3
|
|||
|
|||
En la base de datos tengo: ->"HACIENDA" NUMERIC (3,2)
Y he puesto ahora en DisplayFormat 0.## -> solo el numero sin decimales #.##-> solo los mayores de 1 y enteros 0.00 -> los que tienen 0 no salen pero aunque sea 0,25 Hoy estoy un poco mas torpe de lo normal |
#4
|
|||
|
|||
dices que en la tabla ya se está grabando sin decimales... no estarás haciendo algo como....
Tabla.FieldByName('mi campo').AsInteger := mi_numero; |
#5
|
|||
|
|||
En interbase abro la tabla y me aparece cuando cree la tabla unos valores introducidos via SQL y me aparece 0,25
Cuando abro la tabla via DGBRID me da valor 0. Para introducir datos hago objetos['HACIENDA']:= edit1.text; donde objetos es el nombre de Dataset (Ttable) Esto me habia funcionado siempre , eso si siempre con enteros y texto |
#6
|
|||
|
|||
chico, te pasan cosas muy raras
(era broma, claro) veamos. Si tu pegas en un form un TIBDataset, un TIBTransaction, un TIBTable, un TDataSource y un TDbGrid (y los unes entre si sin hacer nada más y activas el TIBTable), se te ven los datos bien? Otra pregunta. Qué componentes utilizas (BDE, IBX, DBX,...)? Porque el TDbGrid no se come los decimales así porque si |
#7
|
|||
|
|||
Soy un chapuzas. Se nota demasiado que soy un novato de cuidao
Yo tengo 1 Tdatasource, 1 Ttable y 1Tdbgrid y ya ta y con esto solo ya el Tdbgrid se come los decimales |
#8
|
|||
|
|||
eso quiere decir que accedes a Interbase mediante BDE. No será problema de configuración de éste?? Revisatela a ver (creo recordar que es en Configuration - System - Format)
|
#9
|
|||
|
|||
Perdon he estado unos dias fuera...
No acabo de entender tu ultima respuesta me dices que es posible que sea problema de configuracion, de la BDE? Y no se donde encontrar la opcion que me pones Gracias |
#10
|
|||
|
|||
Bueno creo que he encontrado lo que me decias...
BDE Administrador -> Configuration -> system -> formats Decimaldigits -> 2 Decimalseparator -> . Leadingzeron ->TRUE thousandseparator -> , No tengo ni idea de cual seria la opcion correcta. En interbase las consultas al ser SQL los valores quizas son al reves o sea : Separador para decimal "," y para miles el "." Luego lo mirare, por si acaso lo voy posteando. Gracias |
#11
|
|||
|
|||
Hola
El administrador del BDE lo tienes en el panel de control o bien en Inicio-Programas-Borland Delphi x-BDE Administrator Dentro del Administrador del BDE, en la derecha tienes 2 pestañas (Databases y Configuration). Ves a la de Configuration y mirate que hay en Configuration-System-Formats-Number-DecimalsDigits |
#12
|
|||
|
|||
creo que hemos posteado los 2 al mismo tiempo
|
#13
|
|||
|
|||
Pues sí, lo hemos hecho los dos al mismo tiempo
Respecto a la configuración que tienes, tiene toda la pinta de que el separador decimal y el de millares tengan que estar invertidos como bien comentas Pruebalo y nos cuentas |
#14
|
|||
|
|||
Probado y todo igual
Valor 0,25 en la base de datos si pongo 0.## me sale 0 si pongo 0,## me sale 000 |
#15
|
|||
|
|||
Pues ya no se me ocurre nada más
Seguramente será alguna tontería, pero ya no se cual puede ser Si se me ocurre algo más, te lo comento |
#16
|
|||
|
|||
habria alguna otra manera de conectar a la base de datos???
Por provar a ver si es fallo de la base de datos o de la conexion |
#17
|
||||
|
||||
Hola, con permiso de los presentes....
Código:
objetos['HACIENDA']:= edit1.text; Código:
objetosHacienda.asfloat := strtofloat(edit1.text) en cuanto a lo del separador decimal, mira este mensaje anterior dichoso separador decimal Espero haber ayudado en lugar de confundir más Saludos |
#18
|
|||
|
|||
Gracias Lepe, supongo que me servira para cuando intente grabar, de momento estoy todavia intentando leer los datos correctamente
En cuanto al hilo lo tengo que leer mas detenidamente ya que soy un novato de cuidao |
#19
|
|||
|
|||
Lo he hecho 1 poco siguiendo un libro y no se si esta bien.
He conectado a la base de datos con: IBtable IBdatabase IBtransaction Datasource DBgrid Nuna habia hecho esto. pero al menos con esto en el dbgrid me sale con decimales. preguntas: ¿Esta bien lo que he hecho? ¿Es mejor con estos IB que con los BDE convencionales? ¿Se opera de forma distinta? Gracias |
|
|
|