Você está na página 1de 2

Visão sobre o ADO.

NET

O ADO.NET (ActiveX Data Objects .NET) é um conjunto de classes do framework .NET para
comunicação com bases de dados. Com ele você pode se conectar a um banco de dados, rodar
queries, processar resultados, e até trabalhar com dados desconectados.

O principal objeto desconectado é o DataSet, ele serve como um banco de dados na memória,
guardando tabelas, registros, chaves e até relacionamentos. Com ele você pode ordenar, filtrar,
guardar versões diferentes de registros (como alterado e original) e navegar por tabelas
relacionadas. O DataSet também tem funcionalidades para trabalhar com dados no formato XML.

As principais classes do ADO.NET podem ser divididas em classes conectadas, que se comunicam
diretamente com a base de dados; e classes desconectadas, que independem de qualquer acesso
a uma base de dados.

Classes conectadas:

. Connection - Define e realiza uma conexão a um banco de dados.


. Transaction - Contexto transacional relativo a uma conexão.
. DataAdapter - Comunica dados (consulta, atualização) com o banco de dados.
. Command - Encerra um comando (query - select, insert, update ou delete).
. Parameter - Parâmetros para queries.
. DataReader - Cursor conectado para resultados de uma consulta.

Classes desconectadas:

. DataSet - Guarda dados desconectados.


. DataTable - Tabela na memória.
. DataView - Uma visualização (filtrada, ordenada) de uma tabela.
. DataRow - Um registro na memória.
. DataColumn - Define um campo de dados, o tipo de coluna de uma tabela.
. Constraint - Chave ou restrição de campos de tabelas.
. DataRelation - Relacionamento entre tabelas.

Provedores de acesso

No ADO.NET, existem classes para comunicação exclusiva com certas bases de dados. Esse tipo
de classe serve para otimizar o acesso ao banco de dados a que se relacionam. Já existem
provedores para OLE DB (que pode se conectar a diversas bases de dados através de OLE DB),
SQL Server (versão 7 em diante) e para o Oracle.

Você trabalha com esses provedores de acesso de maneira muito semelhante pois eles
implementam as mesmas interfaces bases padrões. O que muda é o namespace e o nome da
classe, como SqlConnection e OracleConnection.

Exemplo

Para criarmos um exemplo, necessitamos de uma base de dados. O SQL Server já vem com
bancos de dados de exemplo, então utilizaremos um deles: o pubs. Por simplicidade, mostraremos
como acessar e mostrar o conteúdo de uma tabela do pubs (a tabela authors) em um DataGrid de
uma página ASP.NET. O DataGrid, juntamente com o DataList e o Repeater são os principais
controles para mostrar dados em uma página ASP.NET (existe um DataGrid para Windows Forms
também).
Para o exemplo, criaremos uma conexão (SqlConnection), um comando para selecionar os dados
da tabela (SqlCommand) e um adaptador (SqlDataAdapter) para realizar a consulta e popular um
DataSet, que então será atribuído como fonte de dados para o DataGrid. O último passo é chamar
o método DataBind() do DataGrid, que irá montar a tabela com os dados na tela. No Visual
Studio.NET, crie um novo projeto Web em C#, arraste um DataGrid para a página
WebForm1.aspx, altere seu ID para dgAuthors (nas propriedades do controle) e cole o seguinte
código no código da página (você vai substituir o método PageLoad() e adicionar um novo,
PegaDados()):

/// <summary>
/// Evento chamado quando a página é carregada.
/// </summary>
/// <param name="sender">Quem chamou o evento.</param>
/// <param name="e">Dados do evento.</param>
private void Page_Load(object sender, System.EventArgs e) {
// pega os dados
DataSet ds = PegaDados();

// atribui à fonte de dados do DataGrid


// a tabela authors do DataSet
dgAuthors.DataSource = ds.Tables["authors"];
// conecta o DataGrid aos dados
dgAuthors.DataBind();
}

private DataSet PegaDados() {


// conexão ao banco de dados
SqlConnection con = new SqlConnection(
"server=localhost;database=pubs;Integrated Security=SSPI");

// comando para selecionar dados na tabela authors


SqlCommand comando = new SqlCommand("select * from authors", con);

// adaptador para executar o comando


SqlDataAdapter adaptador = new SqlDataAdapter(comando);

// DataSet que manterá os dados retornados do banco


DataSet ds = new DataSet();

// preenche o DataSet com o resultado do comando,


// atribuindo authors ao nome da tabela do DataSet
adaptador.Fill(ds, "authors");

// retorna o DataSet preenchido


return ds;
}

Como estamos usando o provedor de acesso ao SQL Server, não esqueça do seguinte comando
no código:
using System.Data.SqlClient;

Você também pode gostar