C# - Acessando um banco de dados Access protegido (Access 2016)


Neste artigo vamos recordar como acessar um banco de dados Microsoft Access protegido com senha usando a versão 2016 e a linguagem C#.

Hoje vamos acessar um banco de dados Microsoft Access protegido com senha.

A primeira coisa que vamos fazer é proteger um banco de dados com senha para depois mostrar como acessá-lo.

Eu vou usar o Microsoft Access 2016, se você estiver usando outra versão poderá haver diferenças nas instruções usadas.

Dependendo da versão do Microsoft Access é tratada de forma diferente. Veja abaixo :

Protegendo um banco de dados Access

Então escolha um banco de dados Microsoft Access que você quer proteger.

Abra o Microsoft Access 2016 e clique em Abrir, ou pressione CTRL+O, e a seguir clique em Procurar :

Na janela Abrir selecione o banco de dados desejado, e clique na caixa Abrir selecionando : abrir exclusivo

No Microsoft Access clique no menu Informações e a seguir em Definir senha do banco de dados :



Na janela informe a senha que deseja atribuir ao banco de dados e clique no botão OK;



Pronto ! , seu banco de dados está protegido e agora para poder acessá-lo teremos que informar a senha definida.

Para o nosso exemplo estamos usando um banco de dados chamado Vendas.mdb que possui a tabela Clientes que desejamos acessar com os seguintes dados:

Criando o projeto no Visual Studio Community 2017

Vamos agora criar um projeto Windows Forms para acessar os dados da tabela Clientes com o nome WF_AccessProtegido:

No formulário padrão criado inclua um controle DataGridView(dgvDados) e dois Buttons conforme o leiaute abaixo:

Neste formulário vamos acessar e exibir os dados do banco de dados Vendas.mdb. Este banco de dados está na pasta bin/Debug do projeto.

Agora inclua um novo formulário chamado FormLogin via menu Project-> Add Windows Forms e defina o seguinte leiaute no formulário:

Neste formulário é importante definir as seguintes propriedades dos controles :

Quando o usuário clicar no botão OK o valor de DialogResult será OK e o do botão Cancelar será Cancel.

Definindo o código do formulário - Form1

Vamos agora definir o código do formulário Form1.

No evento Click do botão - Carregar Dados - inclua o código a seguir:

 private void btnCarregarDados_Click(object sender, EventArgs e)
 {
            CarregarDados();
 }

O código do método CarregarDados pode ser visto abaixo:

       private void CarregarDados()
        {
            // Cria uma instância do formulario de login
            FormLogin frm = new FormLogin();
            //se cancelar encerra
            if (frm.ShowDialog() == DialogResult.Cancel)
                  Close();            
            //define a senha informada
            string password = frm.txtSenha.Text;
            // Monta o nome e caminho do banco de dados
            // que esta na pasta bin/Debug
            string caminhoBancoDados = Application.StartupPath + "\\vendas.mdb";
            // Monta a string de conexão
            string stringConexao =
                    "Provider=Microsoft.ACE.OLEDB.12.0;" +
                    "Data Source=" + caminhoBancoDados + ";" +
                    "Mode=Share Deny None" +
                    ";Jet OLEDB:Database Password=" + password;
            try
            {
                // Acessa o banco de dados e carrega os dados
                string consulta = "SELECT * From Clientes";
                using (OleDbConnection conn = new OleDbConnection(stringConexao))
                {
                    using (OleDbDataAdapter adapter = new OleDbDataAdapter(consulta, conn))
                    {
                        DataSet ds = new DataSet();
                        adapter.Fill(ds);
                        dgvDados.DataSource = ds.Tables[0];
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                MessageBox.Show("Senha Inválida...");
                Close();
            }
      }

O código é bem simples e esta documentado.

O código do botão Sair é visto abaixo:

    private void btnSair_Click(object sender, EventArgs e)
    {
            this.Close();
    }

Executando o projeto iremos obter o seguinte resultado:

1-senha inválida

2-senha válida

Pegue o projeto aqui :  WF_AccessProtegido.zip

"Porque Deus não nos deu o espírito de temor, mas de fortaleza, e de amor, e de moderação."
2 Timóteo 1:7

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Referências:


José Carlos Macoratti