Introdução e conexão

Introdução

ADO.NET é o termo genérico para os módulos de manipulação de banco de dados da plataforma .NET.
Com ele interagimos com bancos de dados para executar operações básicas como inserir, excluir, alterar e consultar registros. Também é possível rodar instruções SQL, invocar funções SQL e executar stored procedures.

Quase todos os grandes sistemas empresariais dependem de bancos de dados. Quando você precisa armazenar dados de forma persistente e realizar consultas com bom desempenho, é necessário usar um banco de dados.

No núcleo do ADO.NET temos um conjunto de objetos que já encapsulam os métodos para operações com banco de dados:

  • Connection: Estabelece a conexão com o banco de dados
  • Command: Executa comandos relacionados ao SQL
  • DataSet: Conjunto de dados mantido na memória, uma abstração do banco de dados. Trabalhar com um DataSet é parecido com trabalhar com um banco de dados offline. Ele contém DataTable (tabela de dados) e DataRow (um registro individual da tabela).
  • DataReader: Leitor de dados somente leitura com avanço sequencial
  • DataAdapter: Adaptador de dados

Apenas dominando o ADO.NET você consegue criar sistemas empresariais completos. Aplicativos como sites também contam muito com bancos de dados, por isso vale a pena estudar com atenção.

Frameworks ORM como EF, iBatis, NHibernate e Linq to Entities são construídos em cima do ADO.NET. Você também pode criar seu próprio framework ORM usando o ADO.NET como base.

Conexão com banco de dados

O objeto Connection cria o vínculo entre o programa e o banco de dados, servindo como ponte para todas as operações no banco.

O .NET disponibiliza a classe SqlConnection para trabalhar com conexões. Ela pertence ao namespace System.Data.SqlClient e faz parte do assembly System.Data.dll.
A maioria dos tipos para interagir com banco de dados estão encapsulados dentro dessa dll.

Antes de abrir uma conexão, você precisa preparar a cadeia de conexão do banco de dados. Essa cadeia é passada na hora de instanciar o objeto SqlConnection.

SqlConnection conn = new SqlConnection(connectionString);Code language: JavaScript (javascript)

A cadeia de conexão é basicamente uma string comum, armazenada no tipo string.

Exemplos de cadeia de conexão para dois modos de autenticação
  1. Acesso com conta SA (autenticação do SQL Server)
"Data Source=.;Initial Catalog=NomeDoBanco;User ID=sa;pwd=Senha;"Code language: JSON / JSON with Comments (json)
  1. Acesso com autenticação do Windows
Data Source=.;Initial Catalog=NomeDoBanco;Integrated Security=TrueCode language: PHP (php)

A cadeia de conexão é formada por vários itens de configuração separados por ponto‑e‑vírgula em inglês, seguindo o formato chave=valor.
Explicação dos parâmetros:

  • Data Source: Endereço do servidor de banco de dados. Para bancos locais use ., localhost ou 127.0.0.1; para servidores remotos informe o IP ou domínio.
  • Initial Catalog: Nome do banco de dados de destino
  • User ID: Conta de login do banco de dados
  • pwd: Senha de login do banco de dados

Observação: User ID e pwd não são campos obrigatórios. Ao usar o modo de autenticação Windows, defina Integrated Security=True para habilitar a segurança integrada, não sendo necessário informar usuário e senha.

Como conectar‑se ao banco de dados em C#

private void button1_Click(object sender, EventArgs e)
{
    string connectionString = "Data Source=.;Initial Catalog=db;User ID=sa;pwd=123321;";
    // Instancia o objeto de conexão dentro do bloco using. Recursos são liberados automaticamente no fim do bloco, não precisa chamar Close() manualmente
    using (SqlConnection conn = new SqlConnection(connectionString))
    {
        // Abre a conexão com o banco de dados
        conn.Open();
        // Coloque seu código de operações com banco de dados aqui
    }
}

Observações

  1. conn.Open(): Abre a conexão com o banco de dados. É preciso chamar esse método para estabelecer efetivamente a conexão de rede.
  2. Vantagem da sintaxe using: ao sair do bloco using, os recursos são liberados e a conexão é fechada automaticamente, evitando vazamento de conexões.
  3. Se não usar o using, após finalizar as operações você deve chamar manualmente conn.Close() para fechar a conexão.

Outras formas de uso

//conn.Open();                // Abrir conexão
//conn.Close();               // Fechar conexão manualmente
//conn.ConnectionString = connectionString; // Atribuir cadeia de conexão dinamicamente
//conn.ConnectionString = "";              // Limpar cadeia de conexão

Introdução e conexão

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *