Verificação se já existe no banco

15/12/2014

0

Tenho este código para verificação se já existe no banco e uso no botão salvar e está funcionando quando são registros novos, mas se entro para alterar um registro, quando vou salvar faz a verificação e obviamente já existe... Se no modo de alteração não fizer a verificação, poderia-se cadastrar
algo que ainda não tem no banco e depois na alteração deixar igual (sabotagem)...

Alguem tem alguma idéia de como se resolve isto ?

private void BtnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                OleDbConnection conexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\\BDBiblioteca.mdb;Jet OLEDB:Database Password = 123");

                OleDbCommand comando = new OleDbCommand("SELECT Nome, CNPJ FROM Editora WHERE Nome = @nome OR CNPJ = @cnpj", conexao);

                comando.Parameters.AddWithValue("@nome", nomeTextBox.Text);
                comando.Parameters.AddWithValue("@cnpj", cNPJMaskedBox.Text);

                conexao.Open();

                OleDbDataReader reader = null;

                reader = comando.ExecuteReader(CommandBehavior.CloseConnection);

                if ((reader.HasRows) && (reader.Read()))
                {
                    if (nomeTextBox.Text == reader["nome"].ToString())
                    {
                        MessageBox.Show("Nome já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else if (cNPJMaskedBox.Text == reader["cnpj"].ToString())
                    {
                        MessageBox.Show("CNPJ já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                else
                {
                    this.Validate();
                    this.editoraBindingSource.EndEdit();
                    this.tableAdapterManager.UpdateAll(this.bDBibliotecaDataSet);
                    MessageBox.Show("Registro Salvo com Sucesso !", "Salvar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi Possível Salvar !" + ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Jair Souza

Jair Souza

Responder

Posts

15/12/2014

Soeuseijothaz

Posta a tela para facilitar a ajuda.

Existem nomes bem comuns e idênticos, então você não pode restringir que um CPF possa ser cadastrado para o mesmo nome mai de uma vez. Para diferenciar um do outro usa-se a data e hora de nascimento, nome da mãe, naturalidade e por ai vai.
Responder

15/12/2014

Jair Souza

Aqui está :

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20141215-145355.png[/img]
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar