Meruem_Chimera

Como pegar nome das colunas de uma Query

4 posts in this topic

Olá Bom Dia, estou fazendo um projeto onde uso uma table em um template, a table é vazia e a construção dela em cada window se da por meio de querys. Meu objetivo é fazer um combo box que traga o nome das colunas da tabela carregado por query. Tentei usar a seguinte função: (TableEnumColumn)

ListAdd(COMBO_TPL_Coluna,"")



//Pega o nome das colunas da tabela e preenche o ComboBox

FOR i = 1 TO TableCount(gw_sNomeTableFiltro, toColumn)

	Nome_Coluna <- TableEnumColumn(gw_sNomeTableFiltro, i)

	ListAdd(COMBO_TPL_Coluna,Nome_Coluna)

END

Mas o resultado disso no combo box fica: COL_1 COL_2  COL_3 ...

Provavelmente pq a table é vazia e a query cria colunas com esse nome por padrão.

Meu objetivo é pegar o nome das colunas que coloquei na minha query.

EX:

SELECT 

	marcas.MARCA AS MARCA,	

	marcas.marcaid AS "CODIGO"

FROM 

	marcas

ORDER BY 

	MARCA ASC

No caso, pegar "Marca" e "Código" e colocar no meu combo box.

Se alguém puder me ajudar ficarei grata.

1 person likes this

Share this post


Link to post
Share on other sites

Posted (edited)

Alguém me corrija se eu estiver entendendo errado ou falando bobagem, mas vc quer metadados dos dados retornados? Vc quer os nomes deles (nomes das colunas de dados do seu banco), para jogar tais nomes nas tabelas e fazer tabelas dinâmicas?

Não tenho certeza, mas talvez precise pedir tais metadados no SQL, pois não sei se o SQL retorna isso por padrão. Não sei como faz isso no windev, não deve fugir muito do padrão (?)

https://blog.sqlauthority.com/2017/06/29/sql-server-get-column-names-specific-table/

Alguém mais qualificado deve ajudar melhor.
Att.

Obs: Saudades de HxH

Edited by Fábio Senji
2 people like this

Share this post


Link to post
Share on other sites

Se vc fizer uma POG (Programação Orientada a G...) vc consegue

Após o BuildBrowsingTable, faça uma TableToText e limite o resultado a 1 linha e depois extraia dessa string a primeria linha q são as colunas e terá seu resultado.

Talvez tenha alguma função q vc consiga pegar da Query as colunas mas desconheço, por vc trabalhar com Templates suas Querys são variadas portanto enquanto não consegue uma alternativa, experimente a forma proposta acima. 

1 person likes this

Share this post


Link to post
Share on other sites
2 horas atrás, Fábio Senji disse:

Alguém me corrija se eu estiver entendendo errado ou falando bobagem, mas vc quer metadados dos dados retornados? Vc quer os nomes deles (nomes das colunas de dados do seu banco), para jogar tais nomes nas tabelas e fazer tabelas dinâmicas?

Não tenho certeza, mas talvez precise pedir tais metadados no SQL, pois não sei se o SQL retorna isso por padrão. Não sei como faz isso no windev, não deve fugir muito do padrão (?)

https://blog.sqlauthority.com/2017/06/29/sql-server-get-column-names-specific-table/

Alguém mais qualificado deve ajudar melhor.
Att.

Obs: Saudades de HxH

 Agradeço sua sugestão.

Analisei o link e a forma usada para solucionar o problema, porém acredito que no meu caso o exemplo usado não se aplica pois utilizo o HFSQL, sendo funcionais apenas as funções diretas 'H' da linguagem. No link também mostra como pegar as colunas direto do banco de dados, isso difere um pouco da forma de manipulação das informações de uma query. Você conhece alguma função 'H' que faça algo semelhante? 

Obs: Aprecio seu bom gosto.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now