|
Página 1 de 1
|
Recorrer Campos De Una Tabla [Solucionado]
Autor |
Mensaje |
maikl
Usuario
Registrado: Octobre 2009
Mensajes: 48
Edad: 45 Ubicación: Bellvís (Lleida)
|
Recorrer Campos De Una Tabla [Solucionado]
Hola a todos, estoy haciendo pruebas con gambas y me he encontrado con problemas para recorrer los campos de una tabla, al final lo que he tenido que hacer es:
no tengo manera de hacer
mitabla = hconn.tables["nombretabla"]
ni nada que se le parezca, he probado con variants, con colecciones, accediendo por nombre y nada.
Alguien me puede ayudar en esto?
Por cierto uso la versión 2.13, que es la que viene en ubuntu y no me atrevo a actualizar yo solito...
saludos!
última edición por maikl el Sabado, 31 Octobre 2009, 01:21; editado 1 vez
|
#1 Lunes, 26 Octobre 2009, 23:20 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Recorrer Campos De Una Tabla
Lo que tienes que hacer es recorrer la colección de tablas
Tienes un ejemplo aquí
La clase connection
PUBLIC FUNCTION LlenarCampos(strTabla AS String) AS Boolean
Conviene que leas el post de la clase connection porque explica muchas de estas cosillas.
|
#2 Martes, 27 Octobre 2009, 00:01 |
|
|
maikl
Usuario
Registrado: Octobre 2009
Mensajes: 48
Edad: 45 Ubicación: Bellvís (Lleida)
|
Re: Recorrer Campos De Una Tabla
Lo estuve mirando pero lo que encontré no me funcionó, hay tipos de datos que no puedo definir y me temo que ya se porque, tengo la versión 2.1.13, puede ser que en esta versión el tema de db no esté muy acabado?
No se, pensaba que un cambio de 2.1.13 a 2.1.16 no tendria modificaciones tan "grandes" y que siendo una versión tan "alta" esto del trabajo con bd ya estaria superado.
Pero es que me da miedo compilar la versión nueva... Además voy con la nueva de ubuntu que aún no es oficial y no hay aún instrucciones de compilación.
A ver si sale la nueva versión en el repositorio o unas instrucciones actualizadas.
Saludos y muchas gracias por la respuesta.
Maikl
|
#3 Martes, 27 Octobre 2009, 14:37 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Recorrer Campos De Una Tabla
Yo no tengo la versión nueva. Trabajo con 2.7 y me funciona parfectamente.
La idea básica es que si cada elemento que lees de un bucle for each es del tipo adecuado puedes acceder a todas las propiedades del objeto.
Por ejemplo si estás recorriendo una colección de tablas pues que el objeto sea de tipo table y si estás recorriendo una colección de capos pues que el objeto sea de tipo tablefields. Pues aplicar eso mismo a indexes o cualquier otro objeto que sea enumerable.
|
#4 Martes, 27 Octobre 2009, 21:08 |
|
|
maikl
Usuario
Registrado: Octobre 2009
Mensajes: 48
Edad: 45 Ubicación: Bellvís (Lleida)
|
Re: Recorrer Campos De Una Tabla
si si, correcto, pero yo no quiero recorrer la colección, eso es lo que hago para buscar la tabla solicitada, pero lo que quiero es acceder a una tabla en concreto.
El código que he puesto me funciona correctamente, pero verás que estoy recorriendo todas las tablas para obtener la quiero, y esto no me parece muy "lógico". Lo normal seria acceder a la tabla con algo como:
tabla = hConn.Tables["Clientes"]
Saludos
|
#5 Martes, 27 Octobre 2009, 22:10 |
|
|
maikl
Usuario
Registrado: Octobre 2009
Mensajes: 48
Edad: 45 Ubicación: Bellvís (Lleida)
|
Re: Recorrer Campos De Una Tabla
Hola a todos, después de mis peripecias con la compilación de la nueva versión de gambas (2.17) he conseguido que funcione de maner lógica
PUBLIC FUNCTION LlenarCampos(strTabla AS String) AS Boolean
DIM tabla AS Table, campo AS Field
lstCampos.Clear
IF hConn.Tables.Exist(strTabla) = TRUE THEN
tabla = hConn.Tables[strTabla] '<--- aquí está lo que queria conseguir y con la versión antigua no me dejaba
' FOR EACH tabla IN hConn.Tables <--- Ya no hace falta recorrer en busca de la tabla
'IF tabla.name = strTabla THEN <--- Ni pizca de falta jeje
FOR EACH campo IN tabla.fields
lstCampos.Add(campo.name & "[" & CStr(campo.type) & "]")
NEXT
'ENDIF
'NEXT
ELSE
Message("La tabla " & strTabla & " no existe.")
ENDIF
RETURN TRUE
END
Saludos!
|
#6 Sabado, 31 Octobre 2009, 01:20 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|