DBRecordInfo
Obtêm informações sobre o registro atual da tabela corrente.
Sintaxe
DBRecordInfo( < nInfoType >, [ @nRecord ] )
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
Atenção
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. | 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.
#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