Compartilhar via


Conectar-se a um banco de dados do Access em aplicativos do .NET Framework

Observação

Os conjuntos de dados e as classes relacionadas são tecnologias herdadas do .NET Framework do início dos anos 2000 que permitem que os aplicativos trabalhem com dados na memória enquanto os aplicativos estão desconectados do banco de dados. As tecnologias são bastante úteis em aplicativos que permitem que os usuários modifiquem dados e persistam as alterações no banco de dados. Embora os conjuntos de dados tenham se mostrado uma tecnologia muito bem-sucedida, é recomendado que os novos aplicativos .NET usem o Entity Framework Core. O Entity Framework proporciona uma forma mais natural de trabalhar com dados tabulares como modelos de objeto e conta com uma interface de programação mais simples.

Você pode se conectar a um banco de dados do Access (um arquivo .mdb ou um arquivo .accdb) usando o Visual Studio. Depois de definir a conexão, os dados são exibidos na janela Fontes de Dados. Nela, é possível arrastar tabelas ou exibições para a superfície de design.

Observação

Se você estiver usando o Visual Studio para se conectar a bancos de dados do Access, precisará estar ciente de que as versões do Visual Studio anteriores ao Visual Studio 2022 são todos processos de 32 bits. Isso significa que algumas das ferramentas de dados do Visual Studio 2019 e anterior só poderão se conectar a bancos de dados do Access usando provedores de dados de 32 bits.

Se você estiver usando o Visual Studio 2022 para se conectar a bancos de dados do Access, precisará estar ciente de que o Visual Studio 2022 agora é um processo de 64 bits. Isso significa que algumas das ferramentas de dados do Visual Studio não poderão se conectar a bancos de dados do Access usando provedores de dados de 32 bits.

Se precisar manter aplicativos de 32 bits que se conectam a bancos de dados do Access, você ainda poderá compilar e executar o aplicativo com o Visual Studio 2022. No entanto, se você precisar usar qualquer uma das Ferramentas de Dados do Visual Studio, como o Gerenciador de Servidores, o Assistente de Fonte de Dados ou o Designer de Conjunto de Dados, precisará usar uma versão anterior do Visual Studio que ainda seja um processo de 32 bits. A última versão do Visual Studio que foi um processo de 32 bits foi o Visual Studio 2019.

Se você planeja converter o projeto para um processo de 64 bits, é recomendável usar o mecanismo de banco de dados do Access do Microsoft de 64 bits, também chamado de ACE (mecanismo de banco de dados do Access). Confira Provedor OLE DB para Jet e Driver ODBC são versões exclusivas de 32 bits para obter mais informações.

Pré-requisitos

Para usar estes procedimentos, você precisará:

  • Visual Studio
  • Um projeto Windows Forms ou WPF
  • Um banco de dados do Access (arquivo .accdb) ou um banco de dados do Access 2000-2003 (arquivo .mdb). Siga o procedimento correspondente ao tipo de arquivo.

Criar um conjunto de dados para um arquivo .accdb

Conecte-se a bancos de dados criados com o Microsoft 365, o Access 2016, o Access 2013, o Access 2010 ou o Access 2007 usando o procedimento a seguir.

  1. Abra um projeto de aplicativo do Windows Forms ou da WPF no Visual Studio.

  2. Para abrir a janela Fontes de Dados, pressione Ctrl+Q, insira "dados" na caixa de pesquisa e escolha a janela Fontes de Dados. Ou, no menu Exibir, selecioneOutras Janelas>Fontes de Dados. Ou, no teclado, pressione Shift+Alt+D.

    Captura de tela das Fontes de Dados na caixa de pesquisa

  3. Na janela Fontes de Dados, clique em Adicionar Nova Fonte de Dados.

    O Assistente de Configuração de Fonte de Dados é aberto.

    Captura de tela mostrando o Assistente de Configuração da Fonte de Dados

  4. Selecione Banco de Dados na página Escolher um Tipo de Fonte de Dados e selecione Avançar.

  5. Selecione Conjunto de dados na página Escolher um Modelo de Banco de Dados e, em seguida, selecione Avançar.

    Captura de tela da página Escolher um Modelo de Banco de Dados

  6. Na página Escolha a Conexão de Dados, selecione Nova Conexão para configurar uma nova conexão de dados.

    Captura de tela da página Escolher sua Conexão de Dados

    A caixa de diálogo Adicionar Conexão será aberta.

    Captura de tela da caixa de diálogo Adicionar Conexão

  7. Se Fonte de dados não estiver definido como Arquivo de Banco de Dados do Microsoft Access, selecione o botão Alterar.

    A caixa de diálogo Alterar Fonte de Dados é aberta. Na lista de fontes de dados, escolha Arquivo de Banco de Dados do Microsoft Access. A opção Provedor de Dados .NET Framework para OLE DB já está pré-selecionada. Selecione OK.

    Captura de tela da caixa de diálogo Escolher Fonte de Dados

  8. Selecione Procurar ao lado de Nome do arquivo de banco de dados, navegue até o arquivo .accdb e selecione Abrir.

    Observação

    Se o número de bit (32 ou 64 bits) do Microsoft Office e do Visual Studio não corresponder, você verá um erro ao se conectar a um banco de dados do Access. No Visual Studio 2019, você receberá um erro informando que o provedor de banco de dados não está registrado. No Visual Studio 2022, você verá um erro informando que não pode se conectar a um provedor de dados de 32 bits. Para resolver esse erro, se você estiver usando uma versão de 32 bits do Office, certifique-se de estar usando o Visual Studio 2019 ou anterior; para uma versão de 64 bits do Office, você precisa do Visual Studio 2022 ou posterior.

  9. Insira um nome de usuário e uma senha (se necessário) e escolha OK.

  10. Selecione Avançar na página Escolher a Conexão de Dados.

    Você pode receber uma caixa de diálogo informando que o arquivo de dados não está no projeto atual. Selecione Sim ou Não.

  11. Selecione Avançar na página Salvar cadeia de conexão no arquivo de Configuração de Aplicativo.

    Captura de tela da página

  12. Expanda o nó Tabelas na página Escolher Objetos do Banco de Dados.

    Captura de tela da página Escolher Objetos do Banco de Dados

  13. Selecione as tabelas ou exibições que deseja incluir no conjunto de dados e selecione Concluir.

    O Conjunto de Dados é adicionado ao projeto e as tabelas e as exibições são mostradas na janela Fontes de Dados.

    Captura de tela da Janela Fontes de Dados, preenchida com objetos de banco de dados

  14. Em máquinas de 64 bits com o mecanismo de banco de dados do Access de 64 bits, é necessário garantir que o aplicativo seja executado como um aplicativo de 64 bits. Abra as propriedades do projeto (pressione Alt+Enter ou clique com o botão direito do mouse no nó do projeto e selecione Propriedades). Na guia Compilar, desmarque a caixa de seleção Preferir 32 bits.

Criar um conjunto de dados para um arquivo .accdb

Conecte-se a bancos de dados criados com o Microsoft 365, o Access 2016, o Access 2013, o Access 2010 ou o Access 2007 usando o procedimento a seguir.

  1. Abra um projeto de aplicativo do Windows Forms ou da WPF no Visual Studio.

  2. Para abrir a janela Fontes de Dados, pressione Ctrl+Q, insira "dados" na caixa de pesquisa e escolha a janela Fontes de Dados. Ou, no menu Exibir, selecioneOutras Janelas>Fontes de Dados. Ou, no teclado, pressione Shift+Alt+D.

    Exibir outras fontes de dados do Windows

  3. Na janela Fontes de Dados, clique em Adicionar Nova Fonte de Dados.

    O Assistente de Configuração de Fonte de Dados é aberto.

  4. Selecione Banco de Dados na página Escolher um Tipo de Fonte de Dados e selecione Avançar.

  5. Selecione Conjunto de dados na página Escolher um Modelo de Banco de Dados e, em seguida, selecione Avançar.

    Captura de tela da página Escolher um Modelo de Banco de Dados

  6. Na página Escolha a Conexão de Dados, selecione Nova Conexão para configurar uma nova conexão de dados.

    Captura de tela da página Escolher sua Conexão de Dados

    A caixa de diálogo Adicionar Conexão será aberta.

    Captura de tela da caixa de diálogo Adicionar Conexão

  7. Se Fonte de dados não estiver definido como Arquivo de Banco de Dados do Microsoft Access, selecione o botão Alterar.

    A caixa de diálogo Alterar Fonte de Dados é aberta. Na lista de fontes de dados, escolha Arquivo de Banco de Dados do Microsoft Access. A opção Provedor de Dados .NET Framework para OLE DB já está pré-selecionada. Selecione OK.

    Captura de tela da caixa de diálogo Escolher Fonte de Dados

  8. Selecione Procurar ao lado de Nome do arquivo de banco de dados, navegue até o arquivo .accdb e selecione Abrir.

    Observação

    Se o número de bit (32 ou 64 bits) do Microsoft Office e do Visual Studio não corresponder, você verá um erro ao se conectar a um banco de dados do Access. No Visual Studio 2019, você receberá um erro informando que o provedor de banco de dados não está registrado. No Visual Studio 2022, você verá um erro informando que não pode se conectar a um provedor de dados de 32 bits. Para resolver esse erro, se você estiver usando uma versão de 32 bits do Office, certifique-se de estar usando o Visual Studio 2019 ou anterior; para uma versão de 64 bits do Office, você precisa do Visual Studio 2022 ou posterior.

  9. Insira um nome de usuário e uma senha (se necessário) e escolha OK.

  10. Selecione Avançar na página Escolher a Conexão de Dados.

    Você pode receber uma caixa de diálogo informando que o arquivo de dados não está no projeto atual. Selecione Sim ou Não.

  11. Selecione Avançar na página Salvar cadeia de conexão no arquivo de Configuração de Aplicativo.

    Captura de tela da página

  12. Expanda o nó Tabelas na página Escolher Objetos do Banco de Dados.

  13. Selecione as tabelas ou exibições que deseja incluir no conjunto de dados e selecione Concluir.

    O Conjunto de Dados é adicionado ao projeto e as tabelas e as exibições são mostradas na janela Fontes de Dados.

Criar um conjunto de dados para um arquivo .mdb

Conecte-se a bancos de dados criados com o Access 2000-2003 usando o procedimento a seguir.

  1. Abra um projeto de aplicativo do Windows Forms ou da WPF no Visual Studio.

  2. No menu Exibir, selecioneOutras Janelas>Fontes de Dados.

  3. Na janela Fontes de Dados, clique em Adicionar Nova Fonte de Dados.

    O Assistente de Configuração de Fonte de Dados é aberto.

  4. Selecione Banco de Dados na página Escolher um Tipo de Fonte de Dados e selecione Avançar.

  5. Selecione Conjunto de dados na página Escolher um Modelo de Banco de Dados e, em seguida, selecione Avançar.

  6. Na página Escolha a Conexão de Dados, selecione Nova Conexão para configurar uma nova conexão de dados.

  7. Se a fonte de dados não for Arquivo de Banco de Dados do Microsoft Access (OLE DB), selecione Alterar para abrir a caixa de diálogo Alterar Fonte de Dados, selecione Arquivo de Banco de Dados do Microsoft Access e, em seguida, OK.

  8. No Nome do arquivo de banco de dados, especifique o caminho e o nome do arquivo .mdb ao qual deseja se conectar e, em seguida, selecione OK.

    Adicionar Conexão a Arquivo de Banco de Dados do Access

  9. Selecione Avançar na página Escolher a Conexão de Dados.

  10. Selecione Avançar na página Salvar cadeia de conexão no arquivo de Configuração de Aplicativo.

  11. Expanda o nó Tabelas na página Escolher Objetos do Banco de Dados.

  12. Selecione quais tabelas ou exibições deseja ter no conjunto de dados e selecione Concluir.

    O Conjunto de Dados é adicionado ao projeto e as tabelas e as exibições são mostradas na janela Fontes de Dados.

Revise o código gerado

As ferramentas de dados são configuradas para gerar muito código automaticamente ao executar determinadas operações no Designer de Formulários. Por exemplo, quando você arrasta e solta uma tabela no formulário, um DataGridView é adicionado e o código é criado para conectar os dados com o controle. Você pode exibir esse código no arquivo *.Designer.cs. O Visual Studio adiciona vários membros privados:

private Database11DataSet database11DataSet;
private System.Windows.Forms.BindingSource ordersBindingSource;
private Database11DataSetTableAdapters.OrdersTableAdapter ordersTableAdapter;
private Database11DataSetTableAdapters.TableAdapterManager tableAdapterManager;
private System.Windows.Forms.BindingNavigator ordersBindingNavigator;
private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem;
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
private System.Windows.Forms.ToolStripButton ordersBindingNavigatorSaveItem;
private System.Windows.Forms.DataGridView ordersDataGridView;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12;

Se você expandir a região oculta, você pode ver que o Visual Studio também adiciona uma grande quantidade de código para configurar o controle DataGridView com vinculação de dados para a tabela arrastada para o formulário.

Além disso, no arquivo code-behind do formulário principal, o Visual Studio adiciona código que processa a ação de salvar para gravar alterações interativas nos dados e o código que carrega a tabela no adaptador de tabela.

private void ordersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
    this.Validate();
    this.ordersBindingSource.EndEdit();
    this.tableAdapterManager.UpdateAll(this.database11DataSet);

}

private void Form1_Load(object sender, EventArgs e)
{
   // TODO: This line of code loads data into the 'database11DataSet.Orders' table. You can move, or remove it, as needed.
   this.ordersTableAdapter.Fill(this.database11DataSet.Orders);
}

Parabéns! Com uma pequena ajuda do Visual Studio, você criou uma experiência de edição baseada em formulário para uma tabela de dados do Access.

Próximas etapas

O conjunto de dados recém-criado está disponível na janela Fontes de Dados. Agora é possível realizar qualquer uma das seguintes tarefas: