Como verificar se uma coluna existe na DataWindow

Caso você não tenha certeza se uma coluna existe ou não na DataWindow, uma das formas que você pode descobrir é utilizando o procedimento abaixo.

O processo é bem simples:

//Verificando se 1 coluna existe...

//Variáveis
string ls_test, ls_column, ls_result
ls_column = 'report_copies'


//Check the column.id property.
// Describe returns the number of the column if the column exists.
// Describe returns an exclamation point (!) if the column doesn't exist.

//Verifica se a coluna existe...
ls_test = dw_1.Describe(ls_column+'.id')

If ls_test = '!' then
    //Coluna não existe. Describe retornou "!"
    ls_result = ls_column + ' (id='+ ls_test + ') ' + ': Coluna não existe.'
else
    //Coluna existe! Describe retornou o Id da coluna.
    ls_result = ls_column + ' (id='+ ls_test + ') ' + ': Coluna existe.'
end if

//Mostra o resultado...
MessageBox('Teste de coluna', ls_result)

 

*Update 21/11/2017*: Atendendo a sugestão do Armando, criei uma função (f_col_exist(dw, colname)) que você pode importar para a sua target e utilizar.
Ela retorna true se encontrar a coluna e false se não encontrar. Para utilizar, você deve informar dois argumentos:

  • [datawindow] adw: A datawindow que será pesquisada
  • [string] as_colname: String com o nome da coluna que você está procurando.

Você pode baixar a função no nosso github!

Dúvidas sobre  o artigo? Sugestões? Precisa de ajuda com outra funcionalidade do PowerBuilder? Deixe um comentário.

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Dev, PowerBuilder and tagged , , , .