Verificar existência de um registro
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.
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
Curtidas 0
Respostas
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:
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
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...
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
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
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
25/06/2005
Você sabe usar SQL? Poderia tentar algo assim:
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.
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
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
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.
Assim vc não precisa mexer no ponteiro da sua consulta principal. ok.
GOSTEI 0
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