Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

FIND

Propósito

Ler um registro pelo valor da chave primária.

Sintaxe

FIND <exp> [NEXT] [SHARED | EXCLUSIVE] [ALL]

Argumentos

<exp>

expressão a ser pesquisada, deve ser do mesmo tipo da chave.

NEXT

lê o registro com valor igual ou maior que a expressão. Só aplicável em arquivo externo indexado.

SHARED

determina o bloqueio para leitura compartilhada do registro

EXCLUSIVE

determina o bloqueio para uso exclusivo do registro.

ALL

determina que todos os itens do registro sejam lidos, não importando se serão utilizados ou não.

Utilização

Acessa diretamente um registro cujo valor da chave primária corresponda ao da expressão. Caso o registro não seja encontrado, a função EOF( ) retorna verdade (.T.) e a função FOUND( ) retorna falso (.F.).

Com a opção NEXT só acusará final de arquivo (EOF( ) = .T.) se não for encontrado nenhum registro que seja igual ou maior que a expressão. SHARED determina que o registro seja bloqueado podendo compartilhar somente a leitura do registro. Utilizada em bloqueio de banco, funciona como EXCLUSIVE.

EXCLUSIVE determina que o registro seja acessado exclusivamente pelo usuário, sem permitir leitura ou gravação por outro usuário.

ALL faz com que todos os itens do registro sejam carregados para memória.

Exemplo

O exemplo a seguir mostra como acessar um determinado registro em um arquivo entidade.

DATABASE bdemp1 33 a 2

USE tab_func

FIND 123        && id0_func = 123

IF FOUND( )

  ? nom_func

ELSE

  ? "Nao encontrado"

ENDIF

O exemplo a seguir mostra como acessar um determinado registro com valor igual ou maior que a expressão.

USE usuarios.d

FIND 123 NEXT

IF FOUND( )

  ? nomeusr

ELSE

  ? "Fim de arquivo"

ENDIF

Consulte

$READALL, DATABASE, LOCK, REPLACE, RESTORE, SAVE, SEEK, SELECT, DBERR( ), EOF( ), FFIND( ), FGO( ), FRECNO( ), FOUND( ) e RECCOUNT( ).

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!