Escolar Documentos
Profissional Documentos
Cultura Documentos
Net
VB.NET
C#.NET
C++.NET
Perl.NET
User Interface
ASP.NET
Acesso a Dados
Introduo
Acesso a Dados
Introduo
OLE DB
ADO Tradicional
Estrutura de Acesso
Aplicao
ADO
OLE DB
ODBC
OLE DB
Provider
OLE DB
Provider
ODBC Driver
Database
ODBC Provider
Text
File
Mainframe
Simple Provider
Database
Native Provider
ADO Tradicional
Caractersticas
ADO.NET
Metas do ADO.NET
ADO.NET
Provedores
ADO.NET
Provedores Gerenciveis
Aplicao
ADO.NET
OLE DB
Provider
SQL Server
Database
Database
ADO Managed Provider
ADO.NET
Estilos de Acesso a Dados
Somente-para-frente, somente-leitura:
Objeto DataReader
Desconectado:
Objeto DataSet
ADO.NET
Ligaes de Dados (Data
Binding)
Classes ADO.NET
IDbConnection Interface
Cria uma conexo nica com uma fonte de
dados (data source).
Implementada pelas classes
SqlDbConnection e OleDbConnection
Funcionalidade:
Classes ADO.NET
IDbCommand Interface
Executa o comando
Classes ADO.NET
IDataReader Interface
Classes ADO.NET
DataReader Exemplo
string sConnString = Provider=SQLOLEDB.1; +
User ID=sa;Initial Catalog=MeuBanco; +
Data Source=MeuServidor;
OleDbConnection sqlCon = new OleDbConnection(sConnString);
sqlCon.Open();
string sQueryString = SELECT NomeCliente FROM Cliente;
OleDbCommand sqlCmd = new OleDbCommand(sQueryString, sqlCcon);
OleDbDataReader sqlReader = sqlCmd.ExecuteReader();
while (sqlReader.Read()) {
Console.WriteLine(sqlReader.GetString(0));
}
sqlReader.Close();
sqlCon.Close();
Classes ADO.NET
System.Data.OleDb Namespace
MSDAORA (Oracle)
JOLT (Jet)
Classes ADO.NET
System.Data.SqlClient
Namespace
Classes para :
Tratamento de erros
Classes ADO.NET
System.Data Namespace
Internet
XML
Windows
C#
VB.NET
Classes ADO.NET
System.Data Namespace (cont.)
IDbConnection
IDbCommand
IDbDataReader
Classes ADO.NET
DataSet
Classes ADO.NET
DataSet
DataSet
DataTable
DataColumn
DataRow
DataRelation
Classes ADO.NET
DataTable
Colunas
Linhas
Eventos pblicos:
Modificar colunas
Classes ADO.NET
DataColumn
Classes ADO.NET
DataRow
Classes ADO.NET
DataRelation
Classes ADO.NET
IDataAdapter Interface
No conectado.
Classes ADO.NET
DataSet Exemplo
string sConnString = Persist Security Info=False; +
User ID=sa;Initial Catalog=Northwind; +
Data Source=MEUSERVIDOR;
SqlConnection sqlCon = new SqlConnection(sConnString);
sqlCon.Open();
string sqlString = SELECT NomeEmpresa FROM Cliente;
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
DataSet sqlDataSet = new DataSet();
sqlDataAdapter.SelectCommand = new SqlCommand(sqlString, sqlCon);
sqlDataAdapter.Fill(sqlDataSet);
slqCon.Close();
Classes ADO.NET
Criando um DataSet via Cdigo
Criao do DataSet
Classes ADO.NET
Criando um DataSet via Cdigo
Classes ADO.NET
Criando um DataSet via Cdigo
Classes ADO.NET
Criando um DataSet via Cdigo
Classes ADO.NET
DataSets Tipados
DataSet tipados:
DataSet.Customers.FirstName
DataSet no tipados:
No possuem esquema de construo automtico
Tabelas, colunas, etc. so expostas como colees
DataSet.Tables[Customers].Rows[0][FirstName]
Classes ADO.NET
Erros e Excees
Classe Error
Classe Errors
Classe Exception
Classes ADO.NET
Exemplo de Erros e Excees
try {
DataTable minhaTabela = new DataTable();
minhaTabela.Columns.Add(minhaColuna);
minhaTable.Columns.Add(minhaColuna);
// Oops!!
}
catch (DataException myException) {
Console.WriteLine ("Mensagem: " + minhaException.Message + "\n" +
Fonte: " + minhaException.Source + "\n" +
Rastreamento: " + minhaException.StackTrace + "\n");
}
Apndice
ADO vs. ADO.NET
Apndice
ADO Tradicional vs. ADO.NET
Caracterstica
ADO
ADO.NET
Representao de dados
residentes na memria
Relacionamento entre
mltiplas tabelas
Percorre seqencialmente
as linhas de um RecordSet
Uma o paradigma de
navegao para acesso no
seqncial
Acesso disconectado
Comunica-se atravs de
chamadas padronizadas
com o DataAdapter
Apndice
ADO Tradicional vs. ADO.NET
Caracterstica
ADO
ADO.NET
Programao
Usa programao
baseada em documentos
XML
Compartilhamento de
dados desconectados
entre camadas e
componentes
Transmite um DataSet
atravs de um arquivo
XML
Transmisso de dados
atravs de Firewalls
Problemtica pois os
firewalls so tipicamente
configurados para no
permitir acesso a nvel de
sistema
Suportada atravs de
objetos DataSet que usam
arquivos XML, que podem
passar atravs firewalls
Escalabilidade
Manuteno de conexes
com bancos de dados
ativas por longos
perodos.
Acesso desconectado a
bancos de dados sem
exigir bloqueios de dados.