Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

natiii

Botão Inserir

Recommended Posts

Olá amigos, minha dúcida é a seguinte:

 

Criei uma aplicação, que realiza um simples cadastro, no botão inserir coloquei o código:

 

DMCadastro.ADOQueryCadastro.Post;
DMCadastro.ADOQueryCadastro.Append;

O código está funcionando, mas gostaria de incrementar, se o usuário apertasse o botão inserir sem ter digitado dados, gostaria que uma mensagem aparecesse, por exemplo: Os campos devem ser preenchidos. Ou então se o usuario tentar inserir dados que ja existem mostrar uma mensagem de: Dados já existentes.

 

Agradeço a ajuda desde já...

 

Natiii http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes dos comando de salvar e adicionar novo, você deve de fazer validações, no caso validando se os campos desejados estão preenchidos, e depois consultando no BD para ver se não é duplicado.

Uma simples validação seria:

 

if (editNome.Text = '') then
	begin
	ShowMessage('Nome não informado !');
	editNome.SetFocus;
	Exit;
	end;
/////demais validações.....


DMCadastro.ADOQueryCadastro.Post;
DMCadastro.ADOQueryCadastro.Append;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu coloquei da seguinte forma:

 

procedure TFormCadastro.BitBtnInserirClick(Sender: TObject);
begin

  if (DBEditNome.Text = '') then
	begin
	ShowMessage('Informe o nome do cliente');
	DMCadastro.ADOQueryCadastro.Append;
	DBEditNome.SetFocus;
	Exit;
	end;
	  if  DMCadastro.AdoQueryCadastro.state <> dsEdit then
		begin
		DMCadastro.ADOQueryCadastro.Post;
		ShowMessage('Dados Cadastrados com sucesso.');
		DMCadastro.ADOQueryCadastro.Append;
		Exit;
		 end;
		 if DMCadastro.ADOQueryCadastro.State = dsEdit then
		 begin
		ShowMessage('Dados já cadastrados');
		DBEditNome.SetFocus;
		Exit;
		end;
	end;

Dessa forma funciona, porém a aplicação é fechada com o uso do Exit, e sem o uso dele dá erro....

Eu gostaria que depois que desse a mensagem, por exemplo, quando tentar inserir espaços em branco, ele retornasse para a aplicação...

 

Por favorrrr

 

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, espero ter ajudado, tenta assim:

 

procedure TFormCadastro.BitBtnInserirClick(Sender: TObject);

begin

if (DBEditNome.Text = '') then

begin

ShowMessage('Informe o nome do cliente');

DBEditNome.SetFocus;

end

else

if DMCadastro.AdoQueryCadastro.state <> dsEdit then

begin

DMCadastro.ADOQueryCadastro.Post;

ShowMessage('Dados Cadastrados com sucesso.');

DMCadastro.ADOQueryCadastro.Append;

end

else

if DMCadastro.ADOQueryCadastro.State = dsEdit then

begin

ShowMessage('Dados já cadastrados');

DBEditNome.SetFocus;

end;

end;

 

 

Grande abraço..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.