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 18-10-2005
JoelCarlos JoelCarlos is offline
Miembro
 
Registrado: nov 2004
Posts: 11
Poder: 0
JoelCarlos Va por buen camino
Unhappy Acceder a un array de tabla en BBDD Interbase desde Delphi

Hola a todos por aca,

A ver si tengo mas suerte esta vez, pues he puesto varios hilos y veo que muchos los leen pero nadie me respode...

La duda especifica que tengo ahora es que he creado un campo o columna de tipo ARRAY en una tabla de una base de datos en INTERBASE y necesito acceder a ella desde una aplicacion en Delphi para mostrar y poder modificar su contenido, he probado escribiendolo asi:

nombre_campo_array[numero_elemento]

nombre_campo_array_numero_elemento

nombre_campo_array(numero_elemento)

pero no funciona, el Delphi al ejecutar me dice que no existe ese campo en la tabla.

Espero que alguien que haya utilizado esto me pueda ayudar, mi email joelcarlos@yahoo.com

A la espera de sus comentarios y ayuda y agradecido de antemano,

Saludos

Joel Carlos
Responder Con Cita
  #2  
Antiguo 18-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por JoelCarlos
A ver si tengo mas suerte esta vez, pues he puesto varios hilos y veo que muchos los leen pero nadie me respode...
No es por iniciar un "flame", como dicen, pero creo que ese comentario está demás. Tu mensaje es el número 111.130, o sea, el que hace ciento once mil ciento treinta... en estos Foros. Y por supuesto que no todos son preguntas sin respuesta.


Cita:
Empezado por JoelCarlos
Espero que alguien que haya utilizado esto me pueda ayudar, mi email joelcarlos@yahoo.com
Y eso, a todas luces, también sobra, puesto que si te respondieran (que no harán) privadamente en tu correo, ¿qué se ganaría en este foro? ¿A quién serviría la respuesta sino fuera a ti solamente? ¿Pero no es contrario eso al propio foro? Tú has preguntado a muchos, deja que muchos se aprovechen de las posibles respuestas.

Por cierto, te deseo toda la suerte del mundo: yo, lamentándolo mucho, no puedo responderte, porque no sé, simplemente, no porque no quiera.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 18-10-2005
JoelCarlos JoelCarlos is offline
Miembro
 
Registrado: nov 2004
Posts: 11
Poder: 0
JoelCarlos Va por buen camino
Wink

Hola David

No se por que te molestaron mis comentarios pero en verdad he colocado VARIOS mensajes con dudas, urgentes y no tan urgentes y nunca he recibido respuesta de alguien de los tantos que los han visitado, luego me he roto la cabeza buscando y buscando hasta encontrar variantes para resolverlos, visitando una y otra vez el forum y revisando mi correo a la espera de ayuda pero lamentablemente no he recibido ninguna.

Mis comentarios que tanto te molestaron segun parece son solo para pedir por favor ayuda aunque sea poca para resolver los temas con los que acudo al forum, donde he encontrado en otros hilos respuestas a dudas que por supuesto no he publicado pues ya estan resueltas por otros. Y si coloco mi correo es porque a veces muchos prefieren escribir un email que publicar en un forum pues no estan muy seguros de la ayuda que puedan dar , pues a mi mismo me ha sucedido, asi que bueno, no lo tomes a mal, solo es para motivar la discusion no para herir sensibilidades ok?

De todas formas gracias por leer mi duda y al menos escribirme para darme tu punto de vista

Gracias y saludos nuevamente y recuerda si sabes quien me pueda ayudar con la duda ponlo en contacto conmigo o el forum

Joel Carlos

Espero que
Responder Con Cita
  #4  
Antiguo 18-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por JoelCarlos
No se por que te molestaron mis comentarios pero en verdad he colocado VARIOS mensajes con dudas, urgentes y no tan urgentes y nunca he recibido respuesta de alguien de los tantos que los han visitado, luego me he roto la cabeza buscando y buscando hasta encontrar variantes para resolverlos, visitando una y otra vez el forum y revisando mi correo a la espera de ayuda pero lamentablemente no he recibido ninguna.
No me molestaron tus comentarios: simplemente considero que están demás. Eso es todo. Respecto a lo que dices en el anterior párrafo... ¿Quieres decir que este sitio Web lleva unos ocho años funcionando porque no ha ayudado nunca a nadie? ¿Que los más de 100.000 mensajes publicados son todos lamentables agujeros negros sin respuesta? ¿Que los más de 20.000 temas no sirven absolutamente para nada, porque en ninguno se obtiene ninguna respuesta?

De verdad que no lo entiendo. Otra vez vuelvo a desearte lo mejor. Si te parece dejamos todo esto, pues el objeto de tu Hilo era conseguir respuesta a tu duda y no otra cosa. Lamento haber iniciado esta discusión, sinceramente. Te pido disculpas si crees que lo que dije lo hize con mala intención. Empero, me permito remitirte a la guía de estilo de estos Foros, por si no la leíste aún y puede serte de alguna utilidad.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 18-10-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JoelCarlos
...La duda especifica que tengo ahora es que he creado un campo o columna de tipo ARRAY en una tabla de una base de datos en INTERBASE
Deberías dar un poco más de información en tus preguntas, más aun si ya has hecho alguna y no te han contestado. Piensa que a veces cosas que para uno mismo són obvias, para el resto "suenan raro", simplemente porque tú tienes todas la información y el resto sólo tienen la mínima parte que tú les das en el mensaje.
Por ejempo, yo colocaría el Script de la tabla, tampoco comentas qué Delphi ni qué Interbase estás utilizando (versión).

Prueba con un código como éste:

Código Delphi [-]
 // Acceder al campo
 Valor := MyDataSet.FieldByName('NombreCampo').Value;
 // Recorrer el array
 for I := VarArrayLowBound(Valor,1) to VarArrayHighBound(Valor,1) do begin
   // No es nulo?
   if (not VarIsNull(Valor[i])) then begin
     ListBox1.Items.Add(Valor[i]);
   end;
 end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 18-10-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

Dejen la peleadera.
Cuando terminen de pelear me avisan y les doy la respuesta
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #7  
Antiguo 18-10-2005
JoelCarlos JoelCarlos is offline
Miembro
 
Registrado: nov 2004
Posts: 11
Poder: 0
JoelCarlos Va por buen camino
Hola a todos,

Gracias por responder, a todos de verdad, disculpen los comentarios al margen y ademas si no di mas informacion. Estoy utilizando Delphi 7 con Interbase 6.

El codigo que me has enviado Neftali no se como utilizarlo, te explico con mas detalles mi problema:

Necesito visualizar los elementos del Array en diferentes campos TDBEdits de un formulario junto con un TDBNavigator que permitiria ver todos los elementos de la tabla. La cantidad de elementos del Array las conozco previamente.

Normalmente cuando es un campo tipico, ya sea numerico, texto o lo que sea, basta con asignar, en tiempo de diseño, a la propiedad DataField del control TDBEdit el nombre del campo directamente , por ejemplo CODIGO, NOMBRE, lo que sea y funciona a la perfeccion. Ahora bien, si el campo de tipo ARRAY le pongo por ejemplo HOMBRES, diganme que valor le asigno a la propiedad DataField del TDBEdit para mostrar o editar el 3er elemento del ARRAY? No me funcionaron las siguientes variantes que ya probe y el Delphi en tiempo de ejecucion me dio el error de que no existia ese campo en la tabla especificada:

HOMBRES(3)
HOMBRES[3]
HOMBRES.3 (parece absurdo pero ya no sabia que inventar sorry )

Espero por sus comentarios y ayuda como siempre

Saludos y agradecido de antemano

Joel Carlos
Responder Con Cita
  #8  
Antiguo 19-10-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JoelCarlos
...El codigo que me has enviado Neftali no se como utilizarlo, te explico con mas detalles mi problema:

Necesito visualizar los elementos del Array en diferentes campos TDBEdits de un formulario junto con un TDBNavigator que permitiria ver todos los elementos de la tabla. La cantidad de elementos del Array las conozco previamente.
Bueno, he revisado algo más de documentación, porque la verdad no había trabajado nunca con campos array (personalmente no te los recomiendo), y he de decir que el código que te coloqué funciona , pero sólo con los componentes FIBPlus .
Se trata de definir una variable como array de variants y en ellas recuperar los valores del campo. En éste ejemplo los valores acaban mostrándose en una ListBox.
Borland no tiene implementado soporte para éste tipo de campos, así que no esperes rellenar la propiedad DataField y que aparezcan los valores como pasa con el resto. Debes hacerlo "a mano" como se hace en el ejemplo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 19-10-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Para trabajar con array en un poco fastidioso sobre todo par actualizar e insertar para seleccionar es un simple slect a las pociciones del arreglo. Pero pra los demas hay que usar unas funciones piscua o lago asi mira en los ejemplos d ibobjects te expliocan como
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #10  
Antiguo 19-10-2005
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
extraido de ibphoenix :
Cita:
Search Results

KnowledgeBase Id: 390
Question:

I have just created a table that contains a field with an array of integers
defined as one of the fields. How can I access it from my Delphi application
using the BDE?

Answer:

Delphi's data aware components (BDE) do not support arrays. One has to use
InterBase API calls to get data into and out of the arrays. Thus you must
either write your own array handling code, or use a component set which
supports this.
No estoy seguro pero creo q los Fib+ soportan los array fields, los IBX no lo hacen. De todos modos segun los gurus de IB es desaconsejable usar los..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #11  
Antiguo 19-10-2005
JoelCarlos JoelCarlos is offline
Miembro
 
Registrado: nov 2004
Posts: 11
Poder: 0
JoelCarlos Va por buen camino
Hola a todos

Muchas gracias por sus rapidas respuestas, voy a revisar todo lo que me dicen a ver que puedo resolver y les comento despues. Realmente pense que era mas eficiente tener un campo array en interbase para no tener que crear un campo para cada edad , entienden? es decir crear el campo HOMBRES con 100 elementos y no tener que crear H1, H2, H3...H99, H100 ...que creen? el tema es que se necesita guardar un dato para cada edad.

Bueno voy a revisar y les escribo despues sobre el tema

Gracias nuevamente

Saludos

Joel Carlos
Responder Con Cita
  #12  
Antiguo 19-10-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JoelCarlos
...Realmente pense que era mas eficiente tener un campo array en interbase para no tener que crear un campo para cada edad , entienden? es decir crear el campo HOMBRES con 100 elementos y no tener que crear H1, H2, H3...H99, H100 ...que creen?
No crees 100 campos en la tabla para las 100 edades.
Los campos de Edad ponlos en otra tabla y relaciónala con la actual.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #13  
Antiguo 19-10-2005
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Cita:
No crees 100 campos en la tabla para las 100 edades
Eso, crea una tabla de edades para cada hombre y relacionala master detail con la tabla hombres, 1 hombre tiene n edades..
__________________
¿Microsoft? No, gracias..
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 00:18:05.


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