Á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
DBRecordInfo

...

...

...

DBRecordInfo

Obtêm

...

informações

...

sobre

...

o

...

registro atual da tabela corrente.

Sintaxe

Bloco de código
collapsefalse
DBRecordInfo( <
nInfoTipo>
 nInfoType >, [
nRegistro
 @nRecord ] )
--> xRet

Parâmetros

...

Nome

Tipo

Descrição

Obrigatório

Referência

...

nInfoType

...

numérico

Indica o tipo de informação que será verificada

...

.

X

...

 

nRecord

...

numérico

Indica o número do registro em que

...

está posicionado.

 

X

Retorno

...

Nome

Tipo

Descrição

xRet

qualquer

Retorna a informação do registro.

Observações

Nota
icontrue
titleAtenção

Devido a existir outras funções que retornam as mesmas informações (RecSize, Deleted e Recno), essa função foi descontinuada em builds superiores a 7.00.131227A.

, ou seja, a informação requisitada pelo usuário (o tipo depende da informação requisitada).Caso não exista tabela corrente ou o registro é inválido, o retorno será nulo (""). Observações

O tipo de informação,

...

indicado pelo parâmetro

...

nInfoType, é escolhido de acordo com as seguintes constantes:

Constante

Valor

Descrição

Tipo

...

DBRI_

...

DELETED

1

Indica o estado de excluído. Similar a Deleted.

...

Lógico

...

...

DBRI_

...

RECSIZE

3

Indica o tamanho do registro. Similar a RecSize.

...

Caractere

DBRI_UPDATED

5

Verifica se o registro foi alterado e ainda não foi atualizado fisicamente

...

//Este exemplo, apresenta como utilizar a função DBRecordInfo() para obter informações//sobre registros da tabela corrente.USE Clientes NEWDBGoTo(100)DBRecordInfo(DBRI_DELETED) // Retorno: .F.DBDelete()DBRecordInfo(DBRI_DELETED) // Retorno: .F.DBRecall()DBRecordInfo(DBRI_RECSIZE) // Retorno: 230NOME := "JOAO"DBGoTo(200)DBRecordInfo(DBRI_UPDATED) // Retorno: .F.DBRecordInfo(DBRI_UPDATED,100) // Retorno: .T. 

...

.

Lógico

  • Caso seja utilizado no programa AdvPL a constante ao invés do valor, deve ser incluido o arquivo dbinfo.ch.
  • nRecord retorna a informação da função Recno.
  • Caso não haja tabela aberta ou o número do registro é inválido, 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 "DBRecordInfo - parameter nInfoType 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.

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
#include "dbinfo.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 }, }, cRDD )
  
  // Abre a tabela 1 em modo exclusivo para leitura criando uma área de trabalho
  DBUseArea( .T., cRDD, cTable1, (cTable1), .T., .F. )
  
  DBAppend( .F. )
  (cTable1)->CPOC := "ABC"
  (cTable1)->CPON := 99
  DBCommit()
  
  DBRecordInfo( DBRI_DELETED, 1 ) // Vai exibir: .F.
  DBRecordInfo( DBRI_RECSIZE, 1 ) // Vai exibir: 14
  DBRecordInfo( DBRI_UPDATED, 1 ) // Vai exibir: .F.
  
  DBDelete()
  DBRecordInfo( DBRI_DELETED, 1 ) // Vai exibir: .T.
  
  DBRecall()
  DBRecordInfo( DBRI_DELETED, 1 ) // Vai exibir: .F.
  
  DBRLock()
  (cTable1)->CPOC := "DEF"
  DBRecordInfo( DBRI_UPDATED, 1 ) // Vai exibir: .T.
  
  DBRUnlock()
  DBRecordInfo( DBRI_UPDATED, 1 ) // Vai exibir: .F.
  
  // Fecha a área de trabalho
  DBCloseArea()
  
  // Apaga a tabela
  TCDelFile( cTable1 )
  
  // Desconecta
  TCUnlink( nHandle1 )
return

Veja também