Obtém informação de um determinado campo da tabela corrente.
Sintaxe
DBFieldInfo( < nType >, < nField > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
|---|---|---|---|---|
nType | numérico | Indica o tipo de informação que será verificada. | X |
|
nField | numérico | Indica a posição do campo que será verificado. | X |
|
Retorno
Nome | Tipo | Descrição |
|---|---|---|
xRet | qualquer | Retorna a informação do campo. |
Observações
O tipo de informação, indicado pelo parâmetro nType, é escolhido de acordo com as seguintes constantes:
Constante | Valor | Descrição | Tipo |
|---|---|---|---|
DBS_NAME | 1 | Nome do campo | Caractere |
DBS_TYPE | 2 | Tipo do campo | Caractere |
DBS_LEN | 3 | Tamanho do campo | Numérico |
DBS_DEC | 4 | Número de casas decimais do campo | Numérico |
- Caso seja utilizado no programa AdvPL a constante ao invés do valor, deve ser incluido o arquivo dbstuct.ch.
- nField começa em 1.
- nField não leva em consideração os campos internos do sistema (Recno e Deleted).
- Caso não haja tabela aberta, o programa será encerrado com ocorrência de erro recuperável "Work area not in use" e a função retornará nulo (Nil).
- Caso o campo não seja encontrado, o programa será encerrado com ocorrência de erro recuperável "Field not found" e a função retornará nulo (Nil).
- Caso o tipo da informação seja inválido, o programa será encerrado com ocorrência de erro recuperável "DBFieldInfo - Parameter not supported in Protheus" e a função retornará nulo (Nil).
- A existência de mais de uma conexão no mesmo programa para o mesmo SGBD não influencia o funcionamento da função.
Exemplos
O exemplo abaixo utiliza a RDD "TOPCONN", mas a função pode ser utilizada com qualquer uma das RDDs válidas.
#include "dbstruct.ch"
user function test1()
Local nHandle1 := TCLink( "MSSQL/DSN1", "127.0.0.1", 7890 )
Local cTable1 := "MYTABLE1"
Local cRDD := "TOPCONN"
// Cria a tabela
DBCreate( cTable1, { { "CPOC", "C", 10, 0 }, ;
{ "CPON", "N", 3, 0 }, ;
{ "CPOD", "D", 8, 0 }, ;
{ "CPOL", "L", 1, 0 }, ;
{ "CPOM", "M", 20*1024, 0 } }, cRDD )
// Abre a tabela 1 em modo exclusivo para leitura criando uma área de trabalho
DBUseArea( .T., cRDD, cTable1, (cTable1), .F., .T. )
DBFieldInfo( DBS_NAME, 1 ) // Vai exibir: CPOC
DBFieldInfo( DBS_TYPE, 1 ) // Vai exibir: C
DBFieldInfo( DBS_LEN, 1 ) // Vai exibir: 10
DBFieldInfo( DBS_DEC, 1 ) // Vai exibir: 0
// Fecha a área de trabalho
DBCloseArea()
// Apaga a tabela
TCDelFile( cTable1 )
// Desconecta
TCUnlink( nHandle1 )
return
Veja também
Import HTML Content
Visão Geral
Conteúdo das Ferramentas