Verificar existência de um registro

Delphi

25/06/2005

qual comando posso utilizar onde passo como parâmetroo valor que quero encontrar e ele me retorna se foi encontrado ou não um registro com este valor?
não pode ser o locate pois este coloca o ponteiro no registro localizado. preciso apenas saber se o registro existe ou não, mas não pode deslocar o ponteiro.


Raserafim

Raserafim

Curtidas 0

Respostas

Carlosrm

Carlosrm

25/06/2005

raserafim,

se estiver usando Paradox, acho que o método Lookup te atende. Dê uma olhada no Help (´Lookup´) do Delphi (vi no D7). Tem até exemplo.

carlosrm :wink:


GOSTEI 0
Marco Salles

Marco Salles

25/06/2005

Amigo , o fato de deslocar o ponteiro , existe Strings Opacas que podem serem usadas Para retornar O Ponteiro na posição Original antes da pesquisa.. Juntamente com essas Strings , inibimos os controles conscientes de dados , o usuário nen percebe este deslocamento de Registro
Pois caso voce não consiga nada que te atenda , estou deixando como uma alternativa o us0 dessas strings...
No mais tente seguir a dica do amigo carlosrm e nos comunique de seu progresso...


GOSTEI 0
Raserafim

Raserafim

25/06/2005

carlosrm, estou usando o firebird 1.5 com o MDO

Marcos Salles, não pretendo usar desta forma pois tenho eventos sendo disparados quando mudo de registro. e estes eventos não podem ser disparados no momento em q estou fazendo a verificação

preciso de outra solução


GOSTEI 0
Isabelct

Isabelct

25/06/2005

Você sabe usar SQL? Poderia tentar algo assim:

Query.Clear;
Query.SQL.Add(´SELECT COUNT(1) AS TOTAL FROM <TABELA>´);
Query.SQL.Add(´WHERE <CAMPO> = <VALOR>´);
Query.Open;
if Query.FieldByName(´TOTAL´).AsInteger > 0 then
  ShowMessage(´Tem registros com esta condição´)
else
  ShowMessage(´Nenhum registro foi localizado´); 


Substitua <TABELA>, <CAMPO> e <VALOR> por, respectivamente, o nome da tabela em questão, o nome do campo a ser analisado e o valor para comparação.


GOSTEI 0
Marco Salles

Marco Salles

25/06/2005

Marcos Salles, não pretendo usar desta forma pois tenho eventos sendo disparados quando mudo de registro. e estes eventos não podem ser disparados no momento em q estou fazendo a verificação


Caso , voce não encontre outra solução , quero deixar mais uma vez registrado , que esses eventos que são disparados ao mudar de regio , podem ser facilmente desabilitados e habilitados novamente em momentos oportunos.. Portanto isto tb não é impecilho.

Mas voce deve tentar a opinião dos colegas... Eu acho que se voce usar um outro componente acessando a base de dados , a pesquisa que voce fizer nele não sera ´sentida´ pelo acesso a base de dados principal...É O Caso de voce usar um query Por exemplo...


GOSTEI 0
Helio Nascimento

Helio Nascimento

25/06/2005

Colega voce pode criar uma consulta paralela para verificar o que vc precisa.
Assim vc não precisa mexer no ponteiro da sua consulta principal. ok.


GOSTEI 0
Marco Salles

Marco Salles

25/06/2005

Mas voce deve tentar a opinião dos colegas... Eu acho que se voce usar um outro componente acessando a base de dados , a pesquisa que voce fizer nele não sera ´sentida´ pelo acesso a base de dados principal...É O Caso de voce usar um query Por exemplo...


em outras palavra:
Colega voce pode criar uma consulta paralela para verificar o que vc precisa. Assim vc não precisa mexer no ponteiro da sua consulta principal. ok.



GOSTEI 0
POSTAR