ado.net

9

Click here to load reader

Upload: helder-oliveira

Post on 09-Jul-2015

70 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ado.net

ADO .NET – Conceitos Básicos

Hélder Oliveira [email protected]

Page 2: Ado.net

Hélder Oliveira [email protected] Introdução ao C#

• O que é o ADO .NET?

• Acesso às Bases de Dados

• Acesso Ligado

• Acesso Desligado

• Connection String

Page 3: Ado.net

Hélder Oliveira [email protected] 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

Page 4: Ado.net

Hélder Oliveira [email protected] 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)

Page 5: Ado.net

Hélder Oliveira [email protected] 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

Page 6: Ado.net

Hélder Oliveira [email protected] 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

Page 7: Ado.net

Hélder Oliveira [email protected] 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

Page 8: Ado.net

Hélder Oliveira [email protected] 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)

Page 9: Ado.net

Hélder Oliveira [email protected] 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 ExemploSQL Data Source=localHost; User ID=sa; Password=;Initial Catalog= Northwind;

SQL (trusted) Server=localhost;Database=dbtest;Trusted_Connection=yes;

OleDBProvider=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;