nao deixar duplicar registro delphi
Estou usando delphi 7 e firebird e componentes da paleta Interbase.
Criei uma query (ibQuery) para realizar uma pesquisa para nao deixar registrar dois registros com o mesmo nome
por exemplo: Cadastro o usuario fulano salvo e depois tento salvar o mesmo fulano quero que neste momento ele execute a mensagem que o registro ja existe.
Esta correto desta maneira?
A query esta assim:
begin
DTM.IBQRYregisRepetido.Close;
DTM.IBQRYregisRepetido.ParamByName('PRMregisrepetido').AsString:=''+ DTM.IBTABcadastroNOMECOMPLETO.Text +'%'; //''+ dbEditNomeCompleto.Text +'%';
DTM.IBQRYregisRepetido.Open;
DTM.IBTABcadastroNOMECOMPLETO.Clear;
if (DTM.IBQRYregisRepetido.RecordCount >=1) then
else //se resultado da pesquisa for maior ou igual a 1
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'O registro que esta sendo'#13'inserido ja esta cadastrado!','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
DTM.IBTABcadastro.Cancel;
end;
if Button = NbPost then //botao salvar
begin
//menus
MainMenuSair.Enabled:=true; //MainMenuSair desabilitado
MainMenuPesquisa.Enabled:=true; //MainMenuConsulta desabilitado
//PopupMenuSair.Enabled:=false; //PopupMenuSair desabilitado
//PopupMenuConsulta.Enabled:=false; //PopupMenuConsulta desabilitado
//verifica campo em branco
//e notifica usuario
if dbeditUF.Text = '' then
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'Realize a pesquisa pelo "Cep",'#13'campo esta em branco!','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
end
else
if dbeditCIDADE.Text = '' then
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'Realize a pesquisa pelo "Cep",'#13'campo esta em branco!','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
end
else
if dbeditBAIRRO.Text = '' then
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'Realize a pesquisa pelo "Cep",'#13'campo esta em branco!','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
end
else
if DBCBselecCLASSE.Text = '' then
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'Selecione a "Classe" do registro,'#13'campo esta em branco!','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
end
else
if DBEditNOMECOMPLETO.Text = '' then
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'Preencha o campo "Nome Completo",'#13'campo esta em branco!','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
end
else
if (Length (dbEditcep.Text) < 8) or (Length (dbEditcep.Text) > 8) then
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'Preencha o campo "Cep" corretamente!'#13'Formato: 00.000-000. Digite'#13'somente números.','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
dbeditCep.SetFocus;
end
else
if Length (dbEditTelRes.Text) < 14 then
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'Preencha o campo "Telefone Residencial" corretamente!'#13'Formato: (00)0000-0000.'#13'Digite somente números.','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
dbeditCep.SetFocus;
end
else
if Length (dbEditTelCel.Text) < 14 then
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'Preencha o campo "Telefone Celular" corretamente!'#13'Formato: (00)0000-0000.'#13'Digite somente números.','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
dbeditCep.SetFocus;
end
else
if Length (dbEditTelCom.Text) < 14 then
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'Preencha o campo "Telefone Comercial" corretamente!'#13'Formato: (00)0000-0000.'#13'Digite somente números.','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
dbeditCep.SetFocus;
end
else
begin
DTM.IBQRYregisRepetido.Close;
DTM.IBQRYregisRepetido.ParamByName('PRMregisrepetido').AsString:=''+ DTM.IBTABcadastroNOMECOMPLETO.Text +'%'; //''+ dbEditNomeCompleto.Text +'%';
DTM.IBQRYregisRepetido.Open;
DTM.IBTABcadastroNOMECOMPLETO.Clear;
if (DTM.IBQRYregisRepetido.RecordCount >=1) then
else //se resultado da pesquisa for maior ou igual a 1
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'O registro que esta sendo'#13'inserido ja esta cadastrado!','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
abort;
DTM.IBTABcadastro.Cancel;
end;
end
else - aqui ele nao compila.
begin
messagebeep(16);
messagebox(FormCadastro.Handle,'O registro foi'#13'salvo com sucesso!!','AgenTel - Salvar',mb_Ok+MB_ICONQUESTION);
//abort;
end;
end;
Aguardo resposta, obrigado.
Discussão (1)
Carregando comentários...