Identificar se o registro já existe.

Delphi

09/07/2005

Como faço uma consulta no banco de dados para saber se o registro a ser incluido não existe no banco de dados.(já foi gravado por outra pessoa)
Estou usando o InterBase.


Ullrich

Ullrich

Curtidas 0

Respostas

Weber

Weber

09/07/2005

Faça um Select antes de fazer o insert.


GOSTEI 0
Beppe

Beppe

09/07/2005

Oi!

Vc deve ter constraints na tabela que impedem registro duplicados, então basta ´deixar rolar´ e catar a exceção se ocorrer. Algo assim:
try
  MeuDataSet.Post;
  Transaction.CommitRetaining;
except
  ShowMessage(´Não foi possível incluir´);
end;


Faça um Select antes de fazer o insert.

Se vc não travar a tabela, alguém pode fazer um insert nesse meio tempo.


GOSTEI 0
Gigatel

Gigatel

09/07/2005

Achei interessante este tópico...suponhamos que tenho um campo ´´´NOME´´ em um TABLE1 como ficaria a função ? ela teria que ter alguma chave na tabela ? e se eu quizer quer este nome seja inserido na tabela ( aliás este nosso Brasil o que tem de Maria das Graças e etc... num é brincadeira... Valew...istó é só uma dúvida ...achei interessante...t+...


GOSTEI 0
Orpolonio

Orpolonio

09/07/2005

Resposta acima corretissima,,,,,isso é trabalho para o banco de dados através de PK ou indices unicos....vc n pode se preocupar com isso no fonte.


GOSTEI 0
Silviogs

Silviogs

09/07/2005

Olá

para uma boa normalização do banco de dados, sua tabela precisa conter uma chave primária que diferencie unicamente os registros:

Ex: Nome
Data Nascimento
Nome Pai
Nome Mae
Sexo (neste caso para nomes que são iguais para homem e mulher-
Irismar, Luzimar etc.)
etc.....

desta forma o banco se encarregará de informar que já exsite um registro com as mesmas características.

Atenciosamente


Silvio Guedes


GOSTEI 0
POSTAR