Recupera o conteúdo de um campo do registro atualmente posicionado no alias selecionado, a partir da sua posição ordinal na estrutura da tabela.
Sintaxe
FieldGet( < nPos > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
nPos | numérico | Número da posição ordinal do campo na tabela. | X |
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
xRet | qualquer | Retorna o conteúdo do campo informado no registrual atual do alias aberto. |
Observações
- Caso o número informado em nPos seja menor que 1 ou maior que o número de campos no alias da tabela em questão, a função retorna Nil e exibe uma mensagem de advertência no log do console do AppServer "Warning - FieldGet error - field number NNN does not exist in file AAA", onde NNN é nPos e AAA é o alias atualmente aberto.
- Caso não haja alias aberto, a função retorna Nil e não exibe mensagem de advertência.
- A informação retornada depende do tipo do campo na estrutura da tabela. Para verificar o tipo do retorno após a chamada da função, pode ser usada a função ValType. Para verificar o tipo do retorno antes da chamada, deve ser verificada a estrutura da tabela através da função DBStruct.
- Quando uma query é aberta em um determinado alias, os campos do tipo "D" (Data) e "L" (Lógico) são retornados como "C" (Caractere), pois no SGBD estes campos normalmente são gravados internamente usando o tipo nativo do SGBD char ou varchar. Para que os campos de tipo "D" e "L" sejam retornados adequadamente no alias aberto com a query, é necessário usar a função TCSetField para estes campos, imediatamente após a abertura da query.
Exemplos
O exemplo abaixo utiliza a RDD "TOPCONN", mas a função pode ser utilizada com qualquer uma das RDDs válidas.
user function test1() Local nHandle1 := TCLink( "MSSQL/DSN1", "127.0.0.1", 7890 ) Local cTable1 := "SA1" Local cRDD := "TOPCONN" Local cField := "" Local xValue // Abre a tabela 1 em modo exclusivo para leitura criando uma área de trabalho DBUseArea( .T., cRDD, cTable1, (cTable1), .F., .T. ) // Usando FieldGet no alias corrente xValue := FieldGet( 1 ) // Usando uma expressão aliasada para recuperar o campo xValue := (cTable1)->( FieldGet( 1 ) ) // Recuperar o campo pelo numero sem usar a FieldGet cField := FieldName( 1 ) // Obtém o nome do primeiro campo xValue := &cField // Obtém o conteúdo deste campo // Fecha todas as áreas de trabalho DBCloseAll() // Desconecta TCUnlink( nHandle1 ) return
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas