A arquitetura ADO.NET foi criada com o objetivo de tratar o acesso aos dados e a manipulação deles, todos os componentes estão inclusos no Namespace System.Data, dentro dela temos basicamente duas principais atrações que são o DataSet e o Provedor .NET que é um conjunto de componentes onde inclui os objetos Connection, Command, DataReader e DataAdapter.

Ao instalar o Visual Studio você tem basicamente três maneiras de acesso a base de dados são elas o: OLE DB, SQL e OBDC.

Cada objeto do ADO.NET tem uma versão para cada driver de acesso dados, sendo assim se você for usar SQL Server vai ter o objeto SqlConnection, o OLE vai ter o OleDBConnection e assim por diante.

Todos os recursos da arquitetura .NET podem ser acessados através de Namespaces:

System.Data – essa você vai usar em 100% das vezes, obtém as classes principais pra usar DataSet e DataRelation.

System.Data.Common – Essa como o próprio nome disse são calsses comuns

System.Data.OleDb – classes para conexão com o fornecedor OLE DB.

E essa lista se estende, principalmente quando é instalado drivers de outros banco de dados, para conhecer não só essas, mas todas as classes e namespaces disponíveis no seu Visual Studio pressione CTRL + W + J para abrir o Object Browser.

Esse é uma imagem sobre a Arquitetura ADO.NET retirada da documentação oficial.

Arquitetura ADO.NET

Arquitetura ADO.NET

Descrevendo os principais componentes:

Antes de mais nada é necessário entender que esses componentes são comuns a todos os tipos de conexões com o banco de dados, se você for se conectar a um servidor SQL Server vai usar o SqlConnection, ao Mysql vai utilizar o MySqlconenction, o Oracle o OracleConnection e assim por diante.

Connection -> Como você já deve ter adivinhado esse objeto serve somente para fazer a conexão com o Banco de Dados, cada conexão com qualquer Banco de dados Requer um String de Conexão, você pode consultar esse site http://www.connectionstrings.com/ para ver as mais variadas Connection String para diversos Banco de Dados.

Command -> Esse objeto representa um Statement SQL ou Stored Procedure para ser excutado no banco de dados, normalmenete você indica a ele qual conexão vi utilizar e passa a Query para ser executada no banco de dados, simples assim.

DataReader -> Esse objeto é excelente para leitura de dados rápida, com ele você fica limitado a ler os dados somente para frente, read-only, não pode ser usado desconectado e é ultra rápido.

DataAdapter -> Este objeto é o oposto do DataReader, com ele você pode obter dados de seu Banco de Dados, Fazer consultas, acessar a fonte de dados através de uma conexão, preencher um DataSet, ler os dados do DataSet, Verificar quais dados foram alterados, enviar ao banco de dados os dados para atualizar na fonte os mesmo, uff.. pelo que você já viu vai utilizar bastante ele.

DataSet -> Á.. esse objeto “é o que há” dentro da arquitetura ADO.NET (bem é o que diz a Microsoft) ele é a representação ou cópia fiel de seu banco de dados dentro da aplicação! Isso mesmo dentro dele você tem uma tabela, um relacionamento, linhas, colunas, assim como um banco de dados, o legal de tudo é que você pode combinar diferentes fonte de dados no mesmo DataSet, assim você pode ter tabelas do MySql, junto com “tabelas” de um arquivo do Excel, junto com mais um monte de coisas!!

Você normalmente utiliza o DataAdapter para preencher um DataSet, depois disso você pode até fechar sua conexão e modificar os dados sem estar ligado diretamente com a sua fonte de dados! Muito legal né? Imagina o quanto isso deve consumir de memória se não for feito um bom planejamento?!?! Rsrsrs… mas é muito interessante!

Bem.. isso é um pequena introdução a arquitetura, na próxima vamos ver alguns exemplos práticos. para os microsoftianos já deixo avisado que não utilizarei o SQL Server.. na maioria das vezes usaremos o MySql, SQLite e Oracle…

Links úteis:

http://msdn.microsoft.com/en-us/library/h43ks021(VS.71).aspx (Documentação Oficial do ADO.NET)

http://www.connectionstrings.com/ (Exemplos de String de Conexão)

http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28844/toc.htm (Guia do Desenvolvedor .NET da Oracle)

http://dev.mysql.com/doc/refman/5.1/en/connector-net.html (Manual de Referência do MySql para conexão com .NET)

Posts Relacionados