PDA

Ver la Versión Completa : array en interbase??


xerkan
26-01-2004, 18:39:02
tengo q poner en una tabla un conjunto de datos pertencientes a los meses del año y tienen q ir tanto para importes como porcentajes, mi idea seria si ahi alguna otra forma de hacerlo q no sea:

importe_enero, importe_febrero, ....
porcentaje_enero, porcentaje_febrero, ...

y fuera algo como importe(1..12) y porcentaje(1..12), para q fueran mas comodos de tratar (sobre todo al hacer una suma de todo el año)

kinobi
26-01-2004, 21:04:50
Hola,

aunque existe un tipo ARRAY nativo en InterBase (te remito a la documentación(*)), yo utilizaría, ya que estamos con un sistema relacional, una tabla relacionada para almacenar los importes y porcentajes mes a mes. El mes sería parte de la clave primaria de esta tabla, junto con la clave primaria de la tabla "principal".

(*) Te remito a la documentación sobre el tipo ARRAY porque aunque yo utilizaría la idea de la tabla relacionada, el usar un tipo ARRAY tampoco es una idea descabellada.

Saludos.

xerkan
27-01-2004, 11:53:55
Gracias, me podrias decir como va las funciones array tanto en sql, como en delphi (usar su tipo de datos), o donde puedo encontrar la documentacion (a ser posible en español)

Gydba
27-01-2004, 14:43:44
La información sobre los campos array está en la página 80 del "Interbase 6 Data Definition Guide".

xerkan
27-01-2004, 16:56:39
Bien ya se crearlo con sql, pero no se utilizarlo mediante delphi al añadir el campo nuevo en el field editor dice q es un campo del tipo tbytesfield, y no se como introducirle valores

en sql e creado un tipo asi:

array integer[1:12],
....

kinobi
27-01-2004, 17:13:11
Hola,

hasta lo que yo sé, hace tiempo que no utilizo habitualmente Delphi, ni el BDE ni IBX (no sé si IBO o FIBPlus...) tienen soporte para el tipo ARRAY de InterBase.

Saludos.

Nota: Las consultas relacionadas con asuntos propios de la parte cliente, como es el uso de componentes de acceso, se tratan en el foro "Conexión con bases de datos". De todas formas, por ser ésta una cuestión muy específica de InterBase, no voy a mover el hilo.