Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Faccruz

Recuperar campos da tabela

Recommended Posts

Bom dia,

 

Gostaria de saber como faço para trazer todos os campos de uma determinada tabela em Oracle, e se possível, colocar apelidos nesses campos (Exemplo: CodCli -> Código do Cliente)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

Gostaria de saber como faço para trazer todos os campos de uma determinada tabela em Oracle, e se possível, colocar apelidos nesses campos (Exemplo: CodCli -> Código do Cliente)

 

Consegui pegar os nomes dos campos através desse SELECT

SELECT COLUNAS.COLUMN_NAME AS COLUNA,  
    COLUNAS.DATA_TYPE AS TIPO,  
    DECODE(COLUNAS.DATA_PRECISION, NULL, COLUNAS.CHAR_COL_DECL_LENGTH, COLUNAS.DATA_PRECISION)  AS TAMANHO,  
    COLUNAS.NULLABLE AS EH_NULO
FROM   
    USER_TABLES TABELA,  
    USER_TAB_COLUMNS COLUNAS  
WHERE   
    -- JOINS   
    TABELA.TABLE_NAME = COLUNAS.TABLE_NAME  
    AND TABELA.TABLE_NAME = 'CONTRATOS'

Mas ainda preciso "criar" apelidos para exibir ao cliente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas você tem que usar isso em uma aplicação?

No banco é fácil trazer os campos com alias, mas se for em uma aplicação asp.net,por exemplo, aí já fica mais difícil!

 

Defina melhor pra que você precisa fazer isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas você tem que usar isso em uma aplicação?

No banco é fácil trazer os campos com alias, mas se for em uma aplicação asp.net,por exemplo, aí já fica mais difícil!

 

Defina melhor pra que você precisa fazer isso.

 

é isso mesmo, preciso trazer em uma aplicação asp.net

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha,vou te passar um exemplo, veja aí se funciona:

Você faz a conexão com o banco e executa a query,por exemplo,usando GridView:

...
conn.open(connectionString);

conn.executeQuery("
SELECT COLUNAS.COLUMN_NAME AS COLUNA,  
    COLUNAS.DATA_TYPE AS TIPO,  
    DECODE(COLUNAS.DATA_PRECISION, NULL, COLUNAS.CHAR_COL_DECL_LENGTH, COLUNAS.DATA_PRECISION)  AS TAMANHO,  
    COLUNAS.NULLABLE AS EH_NULO
FROM   
    USER_TABLES TABELA,  
    USER_TAB_COLUMNS COLUNAS  
WHERE   
    -- JOINS   
    TABELA.TABLE_NAME = COLUNAS.TABLE_NAME  
    AND TABELA.TABLE_NAME = 'CONTRATOS'");

DataTable resultado = conn.getResult();
GridView.dataSource = resultado;
GridView.dataBind();

<asp:GridView ID="GridView" runat="server" DataKeyNames="...">
<Columns>
    <asp:BoundField DataField="COLUNA" HeaderText="..."/>
    <asp:BoundField DataField="TIPO" HeaderText="..."/>
    <asp:BoundField DataField="TAMANHO" HeaderText="..."/>
    <asp:BoundField DataField="EH_NULO" HeaderText="..."/>
</Columns>
</asp:GridView>

Só pra te informar, eu já fiz esse tipo de consulta,mas nunca atribuindo alias pras colunas,

mas da maneira como eu fiz, o DataField da coluna da GridView é sempre o retorno do banco de dados.

Então,acho que dessa forma pode dar certo e....espero que dê mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha,vou te passar um exemplo, veja aí se funciona:

Você faz a conexão com o banco e executa a query,por exemplo,usando GridView:

...
conn.open(connectionString);

conn.executeQuery("
SELECT COLUNAS.COLUMN_NAME AS COLUNA,  
    COLUNAS.DATA_TYPE AS TIPO,  
    DECODE(COLUNAS.DATA_PRECISION, NULL, COLUNAS.CHAR_COL_DECL_LENGTH, COLUNAS.DATA_PRECISION)  AS TAMANHO,  
    COLUNAS.NULLABLE AS EH_NULO
FROM   
    USER_TABLES TABELA,  
    USER_TAB_COLUMNS COLUNAS  
WHERE   
    -- JOINS   
    TABELA.TABLE_NAME = COLUNAS.TABLE_NAME  
    AND TABELA.TABLE_NAME = 'CONTRATOS'");

DataTable resultado = conn.getResult();
GridView.dataSource = resultado;
GridView.dataBind();

<asp:GridView ID="GridView" runat="server" DataKeyNames="...">
<Columns>
    <asp:BoundField DataField="COLUNA" HeaderText="..."/>
    <asp:BoundField DataField="TIPO" HeaderText="..."/>
    <asp:BoundField DataField="TAMANHO" HeaderText="..."/>
    <asp:BoundField DataField="EH_NULO" HeaderText="..."/>
</Columns>
</asp:GridView>

Só pra te informar, eu já fiz esse tipo de consulta,mas nunca atribuindo alias pras colunas,

mas da maneira como eu fiz, o DataField da coluna da GridView é sempre o retorno do banco de dados.

Então,acho que dessa forma pode dar certo e....espero que dê mesmo!

 

Isso eu consegui fazer, o que eu realmente preciso é colocar os alias para as colunas (CodCliente -> Código do Cliente), pois esse select me retorna todos os campos (não os dados) de uma determinada tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma forma legal de você fazer isso seria através da descrição do campo, você colocaria na descrição do campo o 'Alias' dele,

 

Dúvida

 

Essa colocação de apelidos seria em tempo de execução , pois essa seria a unica razão para não deixar os campo fixos, é o que ?? um filtro que você está fazendo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.