natiii 0 Denunciar post Postado Dezembro 18, 2007 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
marcio.theis 3 Denunciar post Postado Dezembro 18, 2007 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
natiii 0 Denunciar post Postado Dezembro 20, 2007 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
Christian Giuliani 0 Denunciar post Postado Dezembro 25, 2007 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