Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/3279126062824/newLayouttecnologia.css |
|
Pagetitle | ||
---|---|---|
|
...
...
...
|
Obtêm
...
informações
...
sobre
...
o
...
registro atual da tabela corrente.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#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
|