Verificar se cadastro já existe antes de salvar Cadastro.
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!
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
Curtidas 0
Respostas
Marisiana Battistella
15/06/2015
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 é.
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 é.
GOSTEI 0
Ariel Morgan
15/06/2015
É 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 estou conseguindo fazer isso diretamente no dataModule
GOSTEI 0
Marisiana Battistella
15/06/2015
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...
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...
GOSTEI 0
Ricardo Araujo
15/06/2015
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!!
Espero ter ajudado!!
GOSTEI 0
Alexsandro
15/06/2015
É 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 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
GOSTEI 0
Ariel Morgan
15/06/2015
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 ;)
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 ;)
GOSTEI 0
Marisiana Battistella
15/06/2015
Por nada Ariel!
Participe do fórum sempre que puder!
Participe do fórum sempre que puder!
GOSTEI 0