FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Inconsistencias al guardar datos con punto decimal
Hola, tengo un problema, mi base de datos esta en mysql, y guardo en la tabla una serie de valores provenientes de edits, 1 combobox, y 2 maskedit, 2 edits contienen valores con punto decimal crrespondientes a precio, el caso es que al hacer la consulta en un dbgrid me mostraba si era entero el puro entero sin .00, si era real me ponia .9 o .11, lo guardo como:
ADOtblProducto.FieldByName('CveProd').AsString:=EditCve.Text; Todos los campos los tengo como .AsString, se me ocurrio poner .AsCurrency o .AsFloat en los campos q contienen los datos con punto decimal, pero no me funciono, porque los enteros si me los pone bien pero los valores decimales, en vez del valor me pone una serie de numeros que ni al caso, lo volvi a poner como .AsString pero igual, me pone su monton de numeros, pero en la tabla si me los visualiza bien, si los guarda correctamente.. No se cual sea el problema.. Este es mi código:
|
#2
|
||||
|
||||
yo te recomendaría que en lugar de usar TEdit o TMaskEdit para valores monetarios, utilizaras un control hecho específicamente para tal caso.
Las Jedi (JVCL) tienen uno muy bueno, llama TjvValidateEdit al cuál solo le estableces dos propiedades y listo. Y este lo podrías utilizar así: ADOtblProducto.FieldByName('Precio').AsCurrency:= jvValidateEdit.AsCurrency
__________________
|
#3
|
||||
|
||||
Hola Lizette,
Yo utilizo SQL SERVER 2005 y defino el campo si va a contener número decimales lo defino de la siguiente manera: Importe decimal(10,2) = 7 Enteros y 2 decimales A la hora de grabar en la base de datos es la siguiente: Espero que te sirva Un saludo. |
#4
|
|||
|
|||
Formatear decimales
Tambien puedes hacerlo de esta forma
ADOtblProductos.FieldByName('Importe').asstring := Formatcurr('#0.00',StrToFloat(EditCve.Text));indicando el numero de decimales que necesitas, y los componentes JVCL son buenos, lo malo es que si cambias de version de delphi te olbiga a cambiar la version de estos tambien, puedes utilizar TPBNumEdit, estos funcionan hasta el momento en delphi 2007 sin ningun problema..... Por otro lado, es mejor que trabajes con los componentes amarrados a tu base de datos, para que automaticamente delphi tome el control de los tipos de datos de tu base, asi no tienes que estar preocupandote por esta clase de problemas......... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
!! Coversion Binario a Decimal y de Decimal codigo ascii | BuRtOn | Varios | 4 | 14-03-2008 04:13:11 |
Problemas con el tipo de datos Decimal de MySQL5 | dionisiopz | MySQL | 4 | 05-12-2006 01:09:26 |
Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas | adaypr | C++ Builder | 1 | 05-09-2006 11:56:33 |
Punto Decimal con RxLib | MarioATamborini | Varios | 6 | 20-07-2006 10:37:02 |
El punto decimal de Windows | soul6301 | Varios | 1 | 19-12-2004 12:54:53 |
|