Fórum Verificação de números repetidos... #294894
08/09/2005
0
Gostaria de fazer verificação para não haver números repetidos, mas gostaria de fazer pelo delphi e não pelo banco de dados (PK). E se tiver o número repedito dar a mensagem, ´Número repetido, último número nº XX´, tem como pelo menos para dar a mensagem.
Obrigado.
Rodrigo.
Rodrigorpb
Curtir tópico
+ 0Posts
08/09/2005
Carlosmedeiroslima
select max(campo) from tabela
em um novo ´handle´ coloque
select max(campo) +1 from tabela
Gostei + 0
08/09/2005
Rodrigorpb
Mas não tem nada que possa vazer a verificação pelo códigos do Delphi mesmo?
Uso F.B 1.5, IBX.
Rodrigo.
Gostei + 0
08/09/2005
Giancorrea
IBQuery1.Close;
IBQuery1.SQL.Add(´select CODIGO, NOME from PESSOA where CODIGO = 10);
IBQuery1.Prepare;
IBQuery1.Open;
if (IBQuery1.RecordCount > 0) then
ShowMessage(´Um registro já possui o código ´ + IBQuery1CODIGO.AsString);
Bom, acho que era isso aí, qualquer coisa entre em contato
Gostei + 0
08/09/2005
Rodrigorpb
Obrigado.
Rodrigo.
Gostei + 0
09/09/2005
Giancorrea
Gostei + 0
09/09/2005
Rodrigorpb
Isso é muito interessante. Mas o que eu queria realmente era o seguinte, tenho um Formulário para Cadastro de Registro de Casamento, nele tem o campo Nome do Noivo, Nome da Noiva, Nº do Livro, Nº da Folha, e Nº da Incrição, o número da incrição pode ser cadastrado em branco, mas ele não pode se repetir, não quero colocá-lo como Chave-Primária, quero fazer no Delphi um jeito que ele verifique no Banco e de a mensagem caso este código exista.
Obrigado.
Rodrigo.
Gostei + 0
09/09/2005
G1b4
procedure DataSetValidate(Sender: TField); begin If (length(trim(Sender.AsString)) > 0) And (DataSet.State=dsInsert) Then Begin IBQuery1.Close; IBQuery1.SQL.Text := ´SELECT INSCRICAO FROM TABELA WHERE INSCRICAO = ´ + Sender.AsString; IBQuery1.Open; If Not IBQuery1.IsEmpty Then Begin IBQuery1.Close; IBQuery1.SQL.Text := ´SELECT MAX(INSCRICAO) FROM TABELA´; IBQuery1.Open; raise Exception.Create(´Número repetido, último número nº ´ + IBQuery1.FIelds[0].AsString); End; IBQuery1.Close; End; end;
Veja se isso resolve...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)