PORFAVOR ALGUEM ME AJUDA

Delphi

27/10/2014

ESTOU DESENVOLVENDO UM SISTEMINHA DE CADASTRO SIMPLES DE ETIQUETAS
ONDE O CAMPO ETI_NUMERO QUE E UMA CHAVE PRIMARIA
SEM QUE SEJA AUTO ICREMENT POIS TENHO QUE DIGITAR A ETIQUETA E ELA NÃO PODE SE REPETIR EIS AI MINHA DUVIDA
TENHO QUE FAZER UM LOCATE NA TABELA MAIS NAO TO CONSEGUINDO SEMPRE DA ERRO
ESTOU USANDO ESSE CODIGO AQUI:


if (DM_1.TBL_ETIQUETAS.Locate('RC_ETI_NUN',txt_11.Text,[])) then
ShowMessage('Etiqueta ja cadastrada Nº' +txt_11.Text')
else
Begin
End;

COLOQUEI ESSE CODIGO NO ONEXIT DO EDIT MAS TODA VES QUE EU DIGITO UM NOVO NUMERO MESMO QUE NAO TENHA NO BANCO ELE ME MOSTRA A MENSAGEN
'Etiqueta ja cadastrada Nº' CARA SEI QUE ISSO E SIMPLES MAIS SO NOVO EM DELPHI ALGUEM ME AJUDA PELO O AMOR DE DEUSSSSSSSSSSSSSSSSSSS!
Naldo/danillo

Naldo/danillo

Curtidas 0

Melhor post

Ricardo

Ricardo

27/10/2014

if not (DM_1.TBL_ETIQUETAS.Locate('RC_ETI_NUN',txt_11.Text,[])) = false

ou

if (DM_1.TBL_ETIQUETAS.Locate('RC_ETI_NUN',txt_11.Text,[])) = true then
ShowMessage('Etiqueta ja cadastrada Nº' +txt_11.Text')
else
Begin
End;
GOSTEI 1

Mais Respostas

Naldo/danillo

Naldo/danillo

27/10/2014

cara brigado

mas nao deu serto; dae fiz o seguinte
troquei o chave para o numero da etiqueta que se tornou uma chave primaria ate ae beleza; agora eu queria que ao inves de mostrar o codigo de erro do delphi tipo esse
"#23000Duplicite entry 'numero da minha etiqueta que ja exixte no banco'for key 'primary'"
para uma que eu mesmo personalize; eu nao quero dexistir cara mais ta dificil podes me ejudar?
GOSTEI 0
Ricardo

Ricardo

27/10/2014

Dê uma lida sobre Try e Except que vai ajudar a tratar as mensagens de erro, substituindo as do Delphi por mensagens personalizadas.
GOSTEI 1
Naldo/danillo

Naldo/danillo

27/10/2014

CARA VALEW CRIEI ESSE CODIGO AQUI E DEU SERTO

procedure Tfrm_PLP.ManipulaExcecoes(Sender: TObject; E: Exception);
begin
txt_11.Color:=clRed;
TXT_26.Text:='Etiqueta Nº '+txt_11.Text+ ' Já existe!';
img2.Visible:=True;
MessageDlg( #13 +
'VOCÊ ESTA TENTANDO CADASTRAR UMA ETIQUETA QUE JA EXISTE NO SISTEMA!' +
'',
mtError, [mbOK], 0);
txt_11.Color:=$0080FFFF;
txt_11.Text:='';
txt_11.SetFocus;
end;

TIPO UMA EXCESSÃO E DEU SERTO BRIGADO MANO
GOSTEI 0
POSTAR