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
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
Histórico do Acesso a
Dados
Modelo de Acesso ODBC
Modelo de Acesso DAO
Modelo de Acesso RDO
Modelo de Acesso OLE DB
Modelo de Acesso ADO
Modelo de Acesso ADO.NET
Conceitos
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
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
Ambientes Conectados e
Desconectados
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.
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
Evolução do acesso a dados
Modelo de Objetos
Evolução do ADO para
ADO.NET
O modelo de objetos do
ADO.NET
Objetos ADO.NET
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
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
Data Providers
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
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
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.
Principais namespaces
relacionados:
• System.Data
• System.Data.Common
• System.Data.SqlClient
• System.Data.OleDb
• System.Data.SqlTypes
• System.Xml
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
Objeto Connection
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)
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
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/
Objeto Command
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()
Objeto DataReader
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
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
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/
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

2006 - ADONET.ppt

  • 1.
    Introdução ADO.NET Ricardo Guerra Freitas Líderda 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 doAcesso a Dados • Conceitos • Ambientes Conectados e Desconectados • Modelo de Objetos • Data Providers • Objeto Connection – String de Conexão • Objeto Command • Objeto DataReader
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 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 osseguintes 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
  • 13.
  • 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
  • 16.
  • 17.
  • 18.
    Evolução do ADOpara ADO.NET
  • 19.
    O modelo deobjetos do ADO.NET
  • 20.
  • 21.
    Modelo de comandosem 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 comandosem 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
  • 23.
  • 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 .NetData 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 DataProviders, 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.
  • 27.
    Principais namespaces relacionados: • System.Data •System.Data.Common • System.Data.SqlClient • System.Data.OleDb • System.Data.SqlTypes • System.Xml
  • 28.
    Acesso a Basesde 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
  • 29.
  • 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 Stringde 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/
  • 33.
  • 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()
  • 35.
  • 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 40reais 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 • SegundoTechConference 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 deSemana!! 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