O documento apresenta um resumo sobre ADO.NET, incluindo sua história e evolução, conceitos principais, ambientes conectados e desconectados, modelo de objetos e principais classes como Connection, Command e DataReader.
1. Introdução
ADO.NET
Ricardo Guerra Freitas
Líder da Célula .NET RIO: http://groups.msn.com/celulanetrio
Email/MSN: guerra_rj@hotmail.com
Blog: http://thespoke.net/blogs/guerra_rj/default.aspx
Site do Curso para baixar os slides:
http://br.groups.yahoo.com/group/CursoDotNetSaoJose
2. Agenda
• Histórico do Acesso a Dados
• Conceitos
• Ambientes Conectados e Desconectados
• Modelo de Objetos
• Data Providers
• Objeto Connection
– String de Conexão
• Objeto Command
• Objeto DataReader
11. O que é ADO.NET?
• ADO.NET é um conjunto de classes que
trabalham com dados.
• Ele provê:
– É evolucionário, sucessor do ADO
– Um sistema desenvolvido para ambientes
desconectados
– Um modelo de programação com suporte nativo a
XML
– Um conjunto de classes, interfaces, estruturas, e
enumerações que gerenciam o acesso a dados
usando o .Net Framework
12. ADO.NET suporta os seguintes
tipos de armazenamento de dados
• Não estruturado
• Estruturado e não hierárquico:
– Arquivos separados por delimitadores, Microsoft
Excel, arquivos do Microsoft Exchange, arquivos do
Active Directory, e outros
• Hierárquicos
– Documentos XML e outros.
• Bancos de dados relacionais
– SQL Server, Oracle, Access, e outros
14. O que é um ambiente
conectado?
• É um ambiente que o usuário esta sempre
conectado ao banco de dados.
• Vantagens:
– É um ambiente com uma fácil implementação de
segurança
– Concorrência de dados é controlada
– Os dados estão normalmente atualizados
• Desvantagens:
– Temos que ter uma conexão permanente com a fonte
de dados
– Pouca escalabilidade.
15. O que é um ambiente
desconectado?
• Em um ambiente desconectado temos sempre um sub-
conjunto de dados da fonte de dados
• Os dados podem ser copiados e modificados
independentes da fonte de dados
• Vantagens:
– Você pode trabalhar a qualquer hora que for conveniente para
você, podendo ser conectado a fonte de dados e atualizar todas
as alterações
– Outros podem usar a conexão com a fonte de dados
– Em um ambiente desconectado temos mais escalabilidade e
performance
• Desvantagens:
– Os dados não estão sempre atualizados
– Conflitos decorridos da concorrência são mais difíceis de serem
resolvidos
21. Modelo de comandos em
ambiente conectado
1. Abrimos a conexão
2. Executamos o
SqlCommand
3. As linhas são
processadas para o
DataReader
4. Fechamos o
DataReader
5. Fechamos a conexão
22. Modelo de comandos em
ambiente desconectado
1. Abrimos a conexão
2. Preenchemos o DataSet
com o método Fill
3. Fechamos a conexão
4. Alteramos livremente o
DataSet
5. Abrimos a conexão
6. Atualizamos a fonte de
dados
7. Fechamos a conexão
24. O que é um .NET Data
Provider?
• Definição:
– Um .NET data provider é o conjunto de classes que
você usa para conectar a uma fonte de dados,
recuperar dados e atualizar os dados
• Tipos de .NET data providers:
– SQL Server .NET Data Provider
– OLE DB .NET Data Provider
– ODBC .NET Data Provider
– Outros
25. As classes .Net Data Providers
• XxxConnection. Por exemplo, SqlConnection
– XxxTransaction. Por exemplo, SqlTransaction
– XxxException . Por exemplo, SqlException
– XxxError. Por exemplo, SqlError
• XxxCommand. Por exemplo, SqlCommand
– XxxParameter. Por exemplo, SqlParameter
• XxxDataReader. Por exemplo, SqlDataReader
• XxxDataAdapter. Por exemplo,
SqlDataAdapter
• XxxPermission. Por exemplo,
SqlClientPermission
26. Com tantos Data Providers,
qual eu escolho?
• SQL Server .NET Data Provider
– Use para SQL Server versao 7.0 ou posterior
• OLE DB .NET Data Provider
• SQL Server 6.5, Microsoft Access, Oracle, outras
origens de dados compativeis com OLE DB
providers
• ODBC .NET Data Provider
• Origens de dados de sistemas legados que
sejam compativeis somente com ODBC drivers,
fora isso NUNCA use um driver ODBC.
28. Acesso a Bases de Dados
ADO .NET
• Namespace System.Data
• Modos de ter acesso a informação
• OLE DB – namespace System.Data.OleDb
• SQL - namespace System.Data.SqlClient
Aplicativo
.Net
Informação
Informação
SQL Server
Objectos
OLE DB
OLE DB
Objectos
OLE DB
TDS
30. Objeto Connection
• SqlConnection / OleDbConnection
• Parâmetros da string de conexão
– Connection timeout
– Data source
– Initial catalog
– Integrated security
– Password
– Persist security info
– Provider
– User ID
Dim strConn as string = "data source=localhost; " +
"initial catalog=northwind; " +
"integrated security=true"
Dim conn as new SqlConnection = SqlConnection(strConn)
31. O que é uma String de
Conexão?
• Uma String de Conexão define os
parametros requeridos to fazer a conexão
com uma origem de dados
• Parametros de uma String de Conexão:
– Provider (somente para OLE DB)
– Data Source
– Initial Catalog
– Integrated Security
– User ID/Password
– Persist Security Info
32. Como configurar a
String de Conexão?
• Você só pode definir a propriedade ConnectionString
quando a conexão estiver fechada
• Para alterar a string de conexão, primeiro você tem que
fechar a conexão para depois reabrir
• Exemplo de uma conexão com Microsoft Access
Dim cnNorthwind As New
System.Data.OleDb.OleDbConnection()
cnNorthwind.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=SamplesNorthwind.mdb;”
• Aonde conseguir strings de conexão?
– http://www.connectionstrings.com/
34. Objeto Command
• SqlCommand / OleDbCommand
• Executar comandos SQL
– ExecuteReader – executa comandos que devolvam linhas de
informação (ex: SELECT)
– ExecuteNonQuery – executa comandos que retornam dados (ex:
INSERT, UPDATE, DELETE)
– ExecuteScalar - retorna um valor único como resultado de uma
função agregada (ex: COUNT)
Dim com as new SqlCommand = SqlCommand()
com.Connection = conn
com.CommandText="Select * From Tabela;"
Dim Info as SqlDataReader = com.ExecuteReader()
36. Objeto DataReader
• SqlDataReader / OleDbDataReader
• Percurso forward-only em modo read-only
• Propriedades e métodos mais usais
• FieldCount
• IsClosed
• Close
• GetString
• GetInt32
Dim Info as SqlDataReader = com.ExecuteReader()
DataGrid1.DataSource=Info
37. Promoção!!! De 40 reais por 30 reais,
SOMENTE PARA ALUNOS DA FACULDADE
SÃO JOSÉ
Learning Series BufaloInfo
• A Búfalo Informática e o grupo devASPNet tem o prazer de apresentar a
nova Learning Series BufaloInfo, a mais nova série de CDs com vídeos de E-
Learning sobre tecnologias Microsoft.
• Para iniciar a série estamos lançando o CD de treinamento
Desenvolvimento Web com ASP.NET
• Mais de 8 horas de vídeo aulas
• Demostrações detalhadas apresentadas por Dennes Torres
• Vídeos divididos em pequenas partes, com demonstrações que podem ser
reproduzidas
• Código fonte de cada demonstração no CD, em versão ANTES e DEPOIS,
permitindo a você reproduzir as demostrações e comparar com o resultado
disponível.
• Indicação de artigos e dicas técnicas ligadas aos assuntos apresentados no
CD
• Suporte técnico sobre os temas abordados nas vídeo aulas
• http://www.bufaloinfo.com.br/learningseries.asp
38. Evento Gratuito
• Segundo TechConference na Veiga de Almeida
na Tijuca, dias 12 e 19 de novembro
• Para se inscrever visite o site:
• http://www.bufaloinfo.com.br/techconference2/
39. Bom Final de Semana!!
Ricardo Guerra Freitas
Líder da Célula .NET RIO: http://groups.msn.com/celulanetrio
Email/MSN: guerra_rj@hotmail.com
Blog: http://thespoke.net/blogs/guerra_rj/default.aspx
Site do Curso para baixar os slides:
http://br.groups.yahoo.com/group/CursoDotNetSaoJose