Você está na página 1de 24

ADO.

Net - Fundamentos
Claudio Stein Junior

O que ?
O ADO.Net um mecanismo de acesso a dados que contem todos os recursos necessrios para acesso e manipulao de dados. Para ser utilizado em uma aplicao precisamos usar a NameSpace System.Data onde encontramos todas as classes para trabalhar com o ADO.Net.

Bancos de Dados
Para dar suporte ao banco de dados escolhido necessrio importar a NameSpace correspondente ao banco de dados que voc for trabalhar, as opes so:
System.Data.SqlClient - Para bancos SQL Server a partir da verso 7 System.Data.OleDb - Bancos Access e SQL Server anteriores a verso 7 System.Data.OracleClient - Bancos de Dados Oracle System.Data.ODBC - Bancos de dados padres

Outros Bancos
Obs: Caso voc precise acessar outro banco de dados, acesse o site do fabricante do mesmo para maiores informaes

Acesso a Dados
O acesso a dados com o ADO.Net pode ser de duas formas, conectado ao banco de dados (DataReader) ou desconectado (DataSet Mantm uma cpia do banco de dados em memria).

Principais objetos do ADO.Net

Objeto Connection
Connection - responsvel pela conexo com o banco de dados. Para estabelecer uma conexo precisamos de uma string de conexo (ConnectionString).

Conexo
Para criar o objeto de conexo com banco de dados SQL Server, segue sintaxe abaixo: sqlConnection cn = new sqlConnection();

Conexo
Se precisar se conectar ao Access: oleDbConnection cn = new oleDbConnection();

Strings
A String de conexo pode ser passada na declarao do objeto de conexo desta forma: oleDbConnection cn = new oleDbConnection(strCn);

String
Onde strCn contem informaes como: Caminho e nome do banco de dados, Usurio e Senha para acesso, tipo de autenticao

String
Data Source: Nome ou Endereo IP da mquina onde o Banco de dados ser executado. Initial Catalog: Endereo/Nome do banco de dados. Integrated Security: Define o tipo de autenticao. Para usar a autenticao do Windows, seu valor deve ser definido como True ou SSPI, se seu valor for False, devemos informar Usurio (User ID) e senha (Password) para a conexo.

String
As informaes so separadas por ; (Ponto e Vrgula), veja a String de Conexo exemplo:
// Declarando a String de Conexo String strCn; // Passando as informaes para a conexo strCn = @"Data Source=.\SqlExpress; Initial Catalog=BancoKees; Integrated Security=SSPI;

Objeto Command
Command Usado para executar comandos SQL, os mtodos para executar estes comandos so: ExecuteReader, ExecuteNonQuery , ExecuteScalar

Command .ExecuteReader
Executa comandos SQL que retornam dados, ex: SELECT

Command.ExecuteNonQuery
Comandos SQL que no retornam dados, ex: DELETE.

Command.ExecuteScalar
Retorna um nico valor, ex: COUNT, MAX.

Objetos DataSet e DataTable

DataSet
Representa os dados do Banco de Dados, uma cpia das tabelas e seus relacionamentos.

DataAdapter
um conjunto de objetos para efetuar a comunicao entre o DataSet e a Fonte de Dados. Vamos entender seu funcionamento: O DataAdapter possui o mtodo Fill que copia os dados da fonte de dados para o DataSet, permitindo desta forma o trabalho desconectado do banco de dados, quando efetuamos alteraes nesta Cpia do Banco o mtodo Update deste objeto (DataAdapter) efetua as atualizaes na fonte de dados original.

DataTable
Representa uma tabela, contida em um DataSet.

DataView
uma viso das tabelas contidas no DataTable.

Connection Pooling
Funcionamento do Pooling: Quando abrimos uma conexo com um banco e a fechamos, ela fica disponvel no Pool de conexes, assim quando abrirmos outra, este recurso verifica se existe alguma conexo armazenada com as mesmas caractersticas no Pooling, se for encontrada uma conexo igual est ser ativada e somente ser aberta uma nova se esta for diferente das j utilizadas. Ganhamos desta forma um aumento de performance e reaproveitamento de cdigo.

Connection Pooling
Para habilitar ou desabilitar o Pooling, basta acrescentar o parmetro Pooling=False na String de Conexo, se este parmetro for omitido, ser atribudo True, que o valor Default desta propriedade.