Fórum Verificar se cadastro já existe antes de salvar Cadastro. #522877

15/06/2015

0

Olá,
Peço encarecidamente a ajuda de vocês! Estou com um formulário de cadastro de cidade pronto!
Neste formulário devo verificar antes de salvar o cadastro se ele existe. Já tentei criar uma
Procedure dentro da tabela no BeforePost, porém não consegui sucesso nesta, então se eu con-
seguir um exemplo ou algum link onde já tenha essa dúvida agradeço!

Obrigado!
Ariel Morgan

Ariel Morgan

Responder

Posts

15/06/2015

Marisiana Battistella

Olá Ariel!
Você tem que fazer essa verificação antes de inserir.
BeforePost é o único evento que você pode utilizar para fazer essa verificação antes da inserção?
Faz tempo q não trabalho com Delphi e não lembro exatamente como é.
Responder

Gostei + 0

15/06/2015

Ariel Morgan

É o BeforePost, só que não estou conseguindo fazer, desculpa! Esqueci de falar que estou usando a tabela no dataModule que dei o nome de dmDados e o nome da tabela é tbl_cidades, então se a cidade e o estado(UF) forem iguais ele apresenta uma mensagem dizendo que já existe o cadastro da cidade e retorna para tela de cadastro...
não estou conseguindo fazer isso diretamente no dataModule
Responder

Gostei + 0

15/06/2015

Marisiana Battistella

Você tem que fazer isso no botão de Inserção e Edição do formulário..
Que tipo de button vc utiliza? É o DBSpeedButton?
Eu lembro que tem um evento que se executa antes da inserção, mas tem que ser com o DBSpeedButton...
Responder

Gostei + 0

15/06/2015

Ricardo Araujo

Colegar, primeiro fazer uma pesquisa no banco de dados do que está querendo salvar, se o resultado for positivo então você apresenta a mensagem, se o valor for negativo então grava as informações na base de dados.

Espero ter ajudado!!
Responder

Gostei + 0

15/06/2015

Alexsandro

É o BeforePost, só que não estou conseguindo fazer, desculpa! Esqueci de falar que estou usando a tabela no dataModule que dei o nome de dmDados e o nome da tabela é tbl_cidades, então se a cidade e o estado(UF) forem iguais ele apresenta uma mensagem dizendo que já existe o cadastro da cidade e retorna para tela de cadastro...
não estou conseguindo fazer isso diretamente no dataModule


não testei mas tenta assim...

no botão de salvar

if dmdados.tbl_cidades.locate('cidade',edit1.text,[lopartialkey,loCaseInsensitive]) = '' and dmdados.tbl_cidades.locate('uf',edit2.text,[lopartialkey,loCaseInsensitive]) = '';
begin
 post;
end
else
begin
showmessage('Cidade/UF Já cadastrado');
end;


declarar na uses --> DB

edit1 local onde você informa a cidade, e edit2 local onde você informa o UF
Responder

Gostei + 0

16/06/2015

Ariel Morgan

Eu fazia isso e apresentava a mensagem mas ainda postava os dados, porém após várias tentativas
criei uma table dentro do formulário e fiz tudo a partir deste! Inserindo a validação no BeforePost, ai consegui concluir!

procedure TfrCadCidade.qry_cidadesBeforePost(DataSet: TDataSet);
begin
if (qry_cidades.Locate('CID_NOME; CID_UF; CID_PAIS; CID_ATIVO', VarArrayOf([edt_nome.Text, edt_uf.Text, cb_pais.Text, 'False']), [])) then
MessageDlg('Verifique!' + #13 + 'O Item já está cadastrado e inativo!', mtWarning, [mbOK], 0)
else if (qry_cidades.Locate('CID_NOME; CID_UF; CID_PAIS; CID_ATIVO', VarArrayOf([edt_nome.Text, edt_uf.Text, cb_pais.Text, 'True']), [])) then
MessageDlg('Verifique!' + #13 + 'O Item já está cadastrado e Ativo!', mtWarning, [mbOK], 0)
else
qry_cidades.Post;
MessageDlg('Sucesso!' + #13 + 'Cadastrado com sucesso!', mtWarning, [mbOK], 0)
Close;
end;

Obrigado gente ;)
Responder

Gostei + 0

16/06/2015

Marisiana Battistella

Por nada Ariel!
Participe do fórum sempre que puder!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar