Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
portuguese
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css

Pagetitle
DBFieldInfo

...

...

...

DBFieldInfo

Obtém

...

informação

...

de

...

um

...

determinado

...

campo

...

da

...

tabela

...

corrente.

Sintaxe

Bloco de código
collapsefalse
DBFieldInfo( <
nInfoTipo>
 nType >, <
nCampo> ) --> xInfo
 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.

//Este exemplo, apresenta como utilizar a função DBFieldInfo() para obter as informações//do primeiro campo da tabela Clientes.USE Clientes NEWDBFIELDINFO(DBS_NAME,1) // Retorno: NomeDBFIELDINFO(DBS_TYPE,1) // Retorno: CDBFIELDINFO(DBS_LEN,1) // Retorno: 10DBFIELDINFO(DBS_DEC,1) // Retorno: 0 
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server
Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
#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