Buenas Tardes amigos, les comento mi problema, estoy desarrollando una rutina que basicamente lo que debe hacer es generar el script sql para crear una tabla (Script CREATE TABLE) mediante un Dataset. En especifico es para los campos de tipo DECIMAL o NUMERIC que especifican la precision de los campos (Numero de Digitos Enteros y Numero de Digitos Decimales) que no logro la manera de obtener los mismos. Evaluando el enumerado Fielddefs del Componente Dataset veo un campo llamado Precision que para los campos enteros muestra la capacidad en bytes del tipo de datos y 0 (cero) para tipos de datos Fecha Hora y Cadenas pero para los campos tipo NUMERIC me muestra una cantidad exagerada que no entiendo que se refiere. Muestro un ejemplo de mis pruebas:
Script desde PgAdmin para base de datos Postgres
Código SQL
[-]
CREATE TABLE data.saf_lineas
(
codigo character varying(20) NOT NULL,
descripcion character varying(80) NOT NULL,
va integer NOT NULL,
vb integer NOT NULL,
vc integer NOT NULL,
ia integer NOT NULL,
ib integer NOT NULL,
ic integer NOT NULL,
resistencia_cero numeric(18,4) NOT NULL,
resistencia_positiva numeric(18,4) NOT NULL,
reactancia_cero numeric(18,4) NOT NULL,
reactancia_positiva numeric(18,4) NOT NULL,
susceptancia_cero numeric(18,4) NOT NULL,
susceptancia_positiva numeric(18,4) NOT NULL,
modulo_ko numeric(18,10) NOT NULL,
angulo_ko numeric(18,10) NOT NULL
);
por ejemplo para el campo
resistencia_cero me muestra un valor de 1179652 para el campo Precision del FieldDefs y para el campo
modulo_ko me muestra un valor de 1179658.
Sera que algun buen samaritano de ustedes puede ayudarme a obtener esta informacion para estos campos o alguna explicacion de estos valores que arroja la propiedad Precision?
Saludos y agradecido con cualquier ayuda que me puedan prestar.