O documento discute os conceitos básicos do ADO.NET, incluindo sua introdução como sucessor da tecnologia ADO da Microsoft, com foco em permitir acesso flexível e estável às bases de dados através de classes especializadas na .NET Framework. Também resume os tipos de acesso ligado e desligado, e discute classes e namespaces chave do ADO.NET como SqlConnection e SqlCommand.
2. Hélder Oliveira helderjmo@gmail.com Introdução ao C#
• O que é o ADO .NET?
• Acesso às Bases de Dados
• Acesso Ligado
• Acesso Desligado
• Connection String
3. Hélder Oliveira helderjmo@gmail.com Introdução ao C#
• Sucessor das soluções ADO já antes introduzidas pela
Microsoft
• ADO .NET é uma reformulação da tecnologia ADO
• Integra-se na .NET framework através de um conjunto de
classes especializadas
• Procura permitir um acesso às bases de dados mais flexível e
estável
4. Hélder Oliveira helderjmo@gmail.com Introdução ao C#
• A uniformização do acesso às Bases de Dados foi sempre uma
preocupação
• As tecnologias de acesso OLEDB e ODBC prevaleceram como
as mais usadas
• A tecnologia ADO .NET, além destas duas tecnologias, inclui
suporte especializado para os SGBD’s Sql Server e Oracle
• Namespaces .NET Framework associados:
– System.data.SqlClient (SQL Server 7.x ou superior)
– System.data.OracleClient (Oracle)
– System.data.OleDb (Access e todos outros SGBD’s do mesmo padrão)
– System.data.ODBC (Todos SGBD’s do mesmo padrão)
5. Hélder Oliveira helderjmo@gmail.com Introdução ao C#
• Precisa de ser aberto/fechado
• Leitura
• Apenas num sentido sem retorno (Forward only)
• Não usa cursor
• Acesso rápido
• Semelhante ao velho recordset
• Implementado por objectos do tipo DataReader
6. Hélder Oliveira helderjmo@gmail.com Introdução ao C#
Tipo Descrição Sql Server
Connection Responsável por estabelecer a ligação à Base de
Dados
SqlConnection
Command Baseado-se numa ligação já existente, permite
executar comandos para manipulação da Base de
Dados (SELECT, INSERT, UPDATE ou DELETE)
SqlCommand
DataReader Funciona como interface de acesso (de leitura)
aos dados da Base de Dados
SqlDataReader
7. Hélder Oliveira helderjmo@gmail.com Introdução ao C#
• Principal novidade do ADO .NET
• Leitura / Escrita
• Os dados essenciais da Base de Dados são carregados para
estruturas de memória apropriadas (baseadas em colecções)
• Estas estruturas permitem uma gestão muito flexível dos dados.
Entre outras:
– DataTable: representa a estrutura de uma tabela e respectivos conteúdos;
– DataSet: representa a estrutura global da Base de Dados e permite
agrupar as DataTables a ela associados;
– DataAdapter: responsável pela gestão da passagem dos dados entre a
base de dados física e a base de dados em memória;
• Podem ser criados de forma automática usando Ferramentas
próprias do Visual Studio .NET ou através de código.
• Acesso mais lento
8. Hélder Oliveira helderjmo@gmail.com Introdução ao C#
Tipo Descrição SQL Server
Connection Responsável por estabelecer a ligação à Base de
Dados
SqlConnection
Command Tal como no acesso ligado, esta classe permite a
execução de comandos para acesso à Base de Dados.
Além dos comandos mais comuns permite ainda a
execução de procedimentos ou funções prórias da
Base de Dados.
SqlCommand
DataAdapter É a ponte entre os dados da Base de Dados física e os
dados no DataSet em memória.
SqlDataAdapter
DataSet Estrutura em memória (baseada em XML) que
permite representar os dados de forma coerente à
respectiva Base de Dados física (usando outros
objectos como DataTables e DataRelations)
(n/a)
9. Hélder Oliveira helderjmo@gmail.com Introdução ao C#
• String que contém os parâmtros necessários para estabelecer
a ligação
• Os parâmtros a considerar depende da natureza da ligação
• Pode ser passada por parâmetro enquanto é instanciado um
objecto do tipo Connection
• Exemplos:
• Consultar http://www.connectionstrings.com para mais
exemplos
Connection Exemplo
SQL Data Source=localHost; User ID=sa; Password=;Initial Catalog= Northwind;
SQL (trusted) Server=localhost;Database=dbtest;Trusted_Connection=yes;
OleDB
Provider=SQLOLEDB.1;Data Source=localhost;Initial Catalog=Northwind;User
ID=sa;Password=;
OleDb (Access)
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:db northwind.mdb;Persist
Security Info=False;