Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Bases de datos > Firebird e Interbase
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 17/06/2006
BlueSteel's Avatar
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Join Date: May 2003
Location: Concepción - Chile
Posts: 2,310
Poder: 26
BlueSteel Va por buen camino
Talking tipos de datos...cual escojo ?

Hola foro...

tengo una pequeña duda con respecto a como elegir el tipo de campo adecuado para almacenar los datos... específicamente los numéricos...

les cuento....

tengo que almacenar datos numericos tales como

125,75
7254254.86

en un principio escogi los campos tipo float, pero no me deja especificar que los necesito con 2 decimales ???

y con el tipo de campo numerico... como utilizo el formato

por ejemplo cuando digo
Código Delphi [-]
 "Dor_Valor_Total" NUMERIC (7, 2) NOT NULL);
que significa esto ??? que la parte entera es de longitud 7 y la decimal es de 2???? o significa que el dato tiene una longitud de 7 pero que dos caracteres son decimales ???

y lo otro... como lo traspaso desde delphi para almacenarlo ???

generalmente utilizo esta forma de trapaso.. pero no se como hacerlo con el campo numeric

Código Delphi [-]
     IBQ_Edit.Params[7].AsInteger  := StrToInt(vTot_Net.Text);  // cuando el campo es integer
     IBQ_Edit.Params[8].AsFloat     := StrToFloat(vTot_Iva.Text); // cuando el campo es float

espero me puedan ayudar.. gracias
__________________
BlueSteel
Reply With Quote
  #2  
Old 19/06/2006
nemesio nemesio is offline
Miembro
 
Join Date: Nov 2005
Location: Isla de Margarita, Venezuela
Posts: 377
Poder: 21
nemesio Va por buen camino
Hola

Hola

Cuando utilizas un campo Numeric (7,2), te va a indicar un Campo que tiene 4 digitos enteros, un separador decimal y 2 valores decimales.
Para el traspaso de los datos prueba utilizar la opcion .value.
Ejem
IBQ_Edit.Params[7].Value:= X; el campo tomará el valor que tiene predeterminado como tipo y te mostrará error si asignas una variable que no corresponda.
Reply With Quote
  #3  
Old 19/06/2006
BlueSteel's Avatar
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Join Date: May 2003
Location: Concepción - Chile
Posts: 2,310
Poder: 26
BlueSteel Va por buen camino
Quote:
Originally Posted by nemesio
Hola
Cuando utilizas un campo Numeric (7,2), te va a indicar un Campo que tiene 4 digitos enteros, un separador decimal y 2 valores decimales
gracias... pero en un campo use el Numeric(10,2), y si es como tu lo dices... por que me acepta una cadema de 15 digitos para el entero, la coma y 2 decimales ?? Ej. 123456789012345,75

Quote:
Para el traspaso de los datos prueba utilizar la opcion .value.
Ejem IBQ_Edit.Params[7].Value:= X; el campo tomará el valor que tiene predeterminado como tipo y te mostrará error si asignas una variable que no corresponda.
pero si el valor que le quiero asignar esta en un Edit.Text.. como transformo esa cadena de numeros a un dato tipo numeric ???
__________________
BlueSteel
Reply With Quote
  #4  
Old 19/06/2006
D-MO's Avatar
D-MO D-MO is offline
Miembro
 
Join Date: Aug 2005
Location: root@debian:/#
Posts: 1,042
Poder: 23
D-MO Va por buen camino
posiblemente sea asi:
Código Delphi [-]
IBQ_Edit.Params[7].Value:=StrToFloat(edit.text);

saludos.
Reply With Quote
  #5  
Old 20/06/2006
Lepe's Avatar
[Lepe] Lepe is offline
Miembro Premium
 
Join Date: May 2003
Posts: 7,424
Poder: 31
Lepe Va por buen camino
Te aconsejo que uses Numeric(10,2) y Dialecto 3, ya que en ese formato se guardan los números como Int64 de Delphi. Si miras la documentación de Interbase, verás que un Float se guarda siempre como números enteros, tanto para la parte entera, como la parte decimal.

De hecho, si usas Numeric(7,2) (creo recordar que en cualquier Dialecto), los números flotantes se guardan con distinta precisión, y advierte que no se use para cálculos monetarios.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Reply With Quote
  #6  
Old 21/06/2006
nemesio nemesio is offline
Miembro
 
Join Date: Nov 2005
Location: Isla de Margarita, Venezuela
Posts: 377
Poder: 21
nemesio Va por buen camino
Para que te quites los dolores de Cabeza de pasar un texto a número, puedes usar el Currencyedit de la libreria Developer Express, te lo recomiendo, tiene una propiedad que es .value para los datos numéricos. Ademas te da la opción de escoger entre el tipo numerico que quieras. Ya no tendrías que hacer mas conversiones sino que colocas: SQLCampo.Value:=Edit.Value;
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Ayuda con tipos de datos Luli Varios 12 15/05/2005 05:56
Cual escojo para hacer infomes istradlin Impresión 4 25/04/2005 20:20
Auxilio....Tipos de datos buitrago Firebird e Interbase 0 07/09/2004 00:51
Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) frankmch Conexión con bases de datos 2 08/09/2003 19:44
unixodbc y tipos de datos atmegabyte Conexión con bases de datos 0 04/07/2003 02:40


All times are GMT +2. The time now is 01:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi