Array
(
)

Verificação se já existe no banco

Jair Souza
   - 15 dez 2014

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 ?
#Códigoprivate 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);
}
}

Jothaz
   - 15 dez 2014

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.

Jair Souza
   - 15 dez 2014

Aqui está :

Clique na imagem para abrir em uma nova janela