Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-07-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: Jan 2004
Posts: 290
Poder: 15
StartKill Va por buen camino
Guardar array en tabla

Hola a todos.

Saludar a todos aquellos que nos apoyan y nos hacen crecer en un sin fin de conocimientos en el mundo de la programacion.

Trabajo con delphi 7.0 interbase 6.0.1, utilizo los componentes IBX.

Estoy tratando de hacer esto: Guardar un array de dos dimesiones en una tabla y en un campo, es posible esto?.

Como lo guardaria?, como lo recuperaria? y si no fuera asi , espero alguna idea i/o sugerencia que sera bienvenida.

Gracias, your friend,

StartKill
Lima-Perú
Responder Con Cita
  #2  
Antiguo 09-07-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: May 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.874
Poder: 21
delphi.com.ar Va por buen camino
Yo te recomendaría, para que tu diseño sea mas flexible, que cada item del array sea un registro de una tabla, seguramente creando un esquema entidad-relación.
Por otro lado, si esto no te convence y los datos que almacenas en cada item, no tienen una longitud dinámica, podrías copiar el espacio de memoria a la base de datos, como se hace en este hilo, pero en este caso se guardan registros. (No es la única técnica)

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 09-07-2004
Avatar de Rufus
Rufus Rufus is offline
Miembro
 
Registrado: May 2004
Ubicación: Canarias
Posts: 193
Poder: 15
Rufus Va por buen camino
Coincido con delphi.com.ar en que si es posible se deberia evitar el uso de matrices en tablas de base de datos, sustituyendo estas por tablas relacionadas.

No obstante, puede haber casos en los que sea muy conveniente dejar una matriz dentro de un campo. En ese caso, interbase o firebird manejan el tema sin problema. Se pueden crear de cualquier tipo de datos excepto de BLOB.

Para un array de dos dimensiones utiliza algo asi:
Código SQL [-]
 CREATE TABLE TABLA1
   (CAMPO1 INTEGER[X,Y],
    .....);
donde X e Y son el numero de elementos para cada dimensión. El primer elemento sera 1, el segundo 2 y así hasta el último que hayas especificado. Se puede especificar tambien que empieze su numeracion por otro número, por 0 por ejemplo.

Para insertar, selecccionar o eliminar has de seguir la misma nomenclatura:
Código SQL [-]
 SELECT CAMPO1[2,3]
 FROM TABLA1 ...
para seleccionar el elemento [2,3]
__________________
Milo
Responder Con Cita
  #4  
Antiguo 13-07-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: Jan 2004
Posts: 290
Poder: 15
StartKill Va por buen camino
Hola my friend's

Despues de mis arduas pruebas y repruebas tome la descicion de seguir sus consejos "evitar usar arrays en tablas" la verdad como todo principiante "todo se puede"... pero en la practica "se puede pero mejor no lo uses es mejor asi..."

He optado en tenerlo en tablas y registros gracias.

Your friend,

StartKill
Lima-Perú
Responder Con Cita
  #5  
Antiguo 13-07-2004
Gydba Gydba is offline
Miembro
 
Registrado: Jan 2004
Ubicación: Argentina
Posts: 673
Poder: 15
Gydba Va por buen camino
Buena buenas

El uso de array en algunos casos es necesario según la aplicación que se le dé. En algún momento necesité utilizarlos pero por una razón de compatibilidad con mi diseño no pude implementarlos.

Un aviso interesante según una respuesta en la comunidad Borland.
Cita:
Empezado por community.borland.com
There is currently no provision to access arrays from ISQL or
WISQL. In order to take advantage of arrays, it is necessary
to either used embedded SQL programming, or API level
programming.
Por otro lado les mandé un mail a los autores de Firebird e incluso a Borland sobre el tema de los campos arrays y ambas respuestas fueron muy simples: que trate de evitarlos. Lo más convincente que me dijeron era que con este tipo de campos se perdía la posibilidad de migración a otras bases.

No sé si esto le sirve a alguien pero, como decimos en mi barrio, es lo que hay

Saludos
__________________
Suerte
.: Gydba :.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:40:06.


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