Sunteți pe pagina 1din 20

MDULO II

Tpicos abordados
1.
2.
3.
4.
5.
6.
7.

ADO.NET
Data provider
Connection
Command
DataReader
DataSet
DataAdapter

Introduo
ADO.NET uma tecnologia baseada no ADO (Active Data
Objects).
Possui um modelo para manipulao de dados completamente
diferente da verso anterior do ADO, simplificando o processo
de conexo e manipulao de dados.
Preparada para trabalhar com um ambiente desconectado,
Por trabalhar de uma forma voltada ao modelo desconectado, o
ADO.NET possui uma camada de persistncia em XML.
possvel gravar e ler todo o contedo de todo um conjunto de
armazenado nas estruturas do ADO.NET em XML.
O ADO.NET faz parte do .NET Framework, e composto por um
conjunto de classes, interfaces, tipos e enumeraes.

Os namespaces relacionados ao
ADO.NET

Para trabalharmos com o ADO.NET em uma aplicao .NET,


necessrio utilizarmos algumas das namespaces disponveis
nas bibliotecas do .NET Framework. Alguns dos principais
namespace so:
System.Data: Contm a infra-estrutura bsica para
trabalharmos com qualquer base de dados relacional.
System.Data.Common: Contm as interfaces comuns a
todos os bancos de dados.
System.Data.SqlClient: Biblioteca de acesso ao SQL Server.
System.Data.OleDb: Biblioteca de acesso para bancos de
dados que suportam OleDb.

Data Providers
O modelo ADO.NET Data Provider fornece uma interface
de gesto comum no .NET Framework para conectar e
interagir com um armazenamento de dados.
Ns j sabemos que ADO.NET permite interagir com
diferentes tipos de fontes de dados e diferentes tipos de
bancos de dados. Por causa disso, h um conjunto de
classes diferenciadas para tratar os diferentes
protocolos envolvidos.
.NET Framework inclui provedores para acesso direto ao
Microsoft SQL Server e para acesso indireto a outros
bancos de dados com drivers ODBC e OLE DB.

Principais Data Providers


MySQL Connector .NET rovider para .NET
Oracle Data Provider Connect
Progress DataDirect
Devart
OpenLink Software
IBM
Sybase SQL Anywhere ASE .NET Provider
Phoenix Software Solutions
Synergex
Firebird
Npgsql

Modelo de execuo em um ambiente conectado


O ADO.NET capaz de trabalhar com dois modelos, o modelo
conectado e o modelo desconectado. No modelo conectado
necessrio manter a conexo aberta enquanto so realizadas as
operaes de leitura e gravao.
Para trabalharmos em um modelo conectado, devemos observar
alguns objetos disponveis nas classes dos .NET Data Providers,
que devem ser utilizados na seguinte ordem:
Connection: Utilizado para estabelecer a conexo com o banco.
Command: Utilizado para enviar comandos a base de dados.
DataReader: Utilizado para ler dados de um comando executado.

Modelo de execuo em um ambiente


desconectado
O modelo de execuo em um ambiente desconectado utiliza
outros objetos.
Neste modelo utilizamos o objeto DataSet para armazenar e
manipular os dados em memria e o objeto DataAdapter para
extrair e enviar as alteraes ao banco de dados.
O objeto de conexo tambm utilizado neste modelo.
Os passos para extrao e manipulao dos dados em um
ambiente desconectado so:
1. E aberta uma conexo utilizando um objeto Connection;
2. E criado um objeto do tipo DataAdapter que responsvel por
fazer a extrao de dados do banco de dados para a memria e o
posterior envio dos dados da memria para o banco de dados;

Modelo de execuo em um ambiente


desconectado
1. Extramos os dados da base de dados e armazenamos em um
DataSet. Neste momento fechamos a conexo com o banco pois os
dados j esto na memria da aplicao para serem manipulados;
2. Como os dados esto em memria, possvel inserir, remover ou
alterar registros do DataSet;
3. Ao finalizar as alteraes, restabelecemos a conexo com o banco
de dados para enviar as alteraes;
4. Enviamos as alteraes para o banco de dados. O DataAdapter
verifica os tipos de alteraes que foram realizadas e executa o
comando correspondente no banco de dados (insero, excluso,
atualizao);
5. Ao finalizar o processo, fechamos a conexo com o banco de dados.

Estabelecendo uma conexo com um banco


de dados
O primeiro passo para criarmos uma aplicao com conexo
a um banco de dados estabelecer a conexo com o banco.
Para estabelecermos a conexo, devemos criar um objeto
de conexo.
Ao criarmos uma instncia da classe que ir se conectar,
devemos informar uma string de conexo, que contm
todos os parmetros para a conexo com o banco de dados,
como usurio e senha.
A string de conexo possui uma srie de parmetros, que
pode variar de acordo com o banco de dados utilizado. Os
parmetros da string de conexo so separados por ponto e
vrgula;

Conectando-se ao SQL Server


Nome do Parametro da String de conexo
Data Source
Initial Catalog
Integrated Security
User ID
Password

descrio
Identifica o servidor. Pode ser a maquina local,
domnio ou endereo IP.
nome do banco de dados
Define o SSPI para efetuar a conexo com usurio
logado no Windows
Nome do usurio definido no SQL Server.
Senha

Comandos
possvel executar comando no banco de dados atravs de classes
DbCommand. (Ex. SqlCommand)
Ao criar um objeto dessa classe, devemos informar o comando SQL a ser
executado, bem como a conexo a ser utilizada.
Os comandos SQL informados em um objeto de comando podem ser de
qualquer tipo: que retornam um conjunto de linha, que retornam um
valor especfico, ou que no retornam nenhuma quer.
Cada um destes tipos de comando SQL possui um mtodo para
execuo.
Atravs da classe SqlCommand tambm possvel executar Stored
Procedures do banco de dados, sendo necessrio apenas informar o
nome da stored procedure no parmetro CommandText, e setar a
propriedade CommandType da classe para
CommandTypes.StoredProcedure.

Executar comandos
Para executarmos os comandos especificados na classe
SqlCommand, precisamos executar um dos mtodos de
execuo disponveis. Os mtodos de execuo variam
de acordo com a natureza do comando executado. Os
trs mtodos mais comuns so:
ExecuteNonQuery: Para comandos que no executam
consultas (querys);
ExecuteScalar: Para comandos que executam resultados
escalares;
ExecuteReader: Para comandos que retornam conjuntos
de dados.

Passando parmetros
E possvel passar parmetros para os objetos da classe
SqlCommand.
Para indicarmos parmetros nas querys informadas
neste objeto, utilizamos o smbolo @ como prefixo para
indicar um parmetro. Esta sintaxe pode variar de
acordo com o banco de dados utilizado (o Oracle utiliza
:por exemplo).
Depois de indicar os parmetros na query, preciso
adicionar objetos do tipo SqlParameter na coleo de
parmetros do SqlCommand.
A coleo de parmetros pode ser acessada atravs da
propriedade Parameters do objeto de comando.

Passando parmetros
E possvel passar parmetros para os objetos da classe
SqlCommand.
Para indicarmos parmetros nas querys informadas
neste objeto, utilizamos o smbolo @ como prefixo para
indicar um parmetro. Esta sintaxe pode variar de
acordo com o banco de dados utilizado (o Oracle utiliza
:por exemplo).
Depois de indicar os parmetros na query, preciso
adicionar objetos do tipo SqlParameter na coleo de
parmetros do SqlCommand.
A coleo de parmetros pode ser acessada atravs da
propriedade Parameters do objeto de comando.

DataSet
O DataSet uma classe capaz de armazenar mltiplos
resultados tabulares em uma mesma estrutura. O
DataSet composto por estruturas chamadas
DataTables que representam estes resultados tabulares.
Para extrairmos dados da base de dados e
preenchermos o DataSet utilizamos a classe
DataAdapter. Esta classe capaz de executar os quatro
comandos bsicos de um banco de dados (Insert,
Update, Delete, Select) sendo capaz de executar estas
operaes sobre os dados do DataSet

DataAdapter
O DataAdapter a classe responsvel por fazer a interao entre a
base de dados e o DataSet.
Possui quatro propriedades que representam os quatro comandos
principais que utilizamos para interagir com o banco de dados.
Para realizar a extrao de dados do banco de dados para o
DataSet, o DataAdapter usa o comando de select, contido na
propriedade SelectCommand.
Aps extrairmos os dados para o DataSet, podemos modificar estes
dados (que esto armazenados em memria). A medida que
modificamos os dados do DataSet, este faz uma marcao nas
alteraes que fazemos.
Quando conclumos as alteraes, possvel chamar o DataAdapter
novamente para que ele execute para cada linha modificada o
comando correspondente a modificao realizada.

Criando um DataSet e um
DataAdapter

O DataAdapter a classe responsvel por fazer a interao entre a


base de dados e o DataSet.
Possui quatro propriedades que representam os quatro comandos
principais que utilizamos para interagir com o banco de dados.
Para realizar a extrao de dados do banco de dados para o
DataSet, o DataAdapter usa o comando de select, contido na
propriedade SelectCommand.
Aps extrairmos os dados para o DataSet, podemos modificar estes
dados (que esto armazenados em memria). A medida que
modificamos os dados do DataSet, este faz uma marcao nas
alteraes que fazemos.
Quando conclumos as alteraes, possvel chamar o DataAdapter
novamente para que ele execute para cada linha modificada o
comando correspondente a modificao realizada.

Exerccio
Desenvolver uma aplicao desktop Windows Forms,
para manter (cadastrar, visualizao e edio) produto
e categoria, seguindo as seguintes especificaes:
Categoria
Cdigo

Literal, somente letras e nmeros, at 20 caracteres, obrigatrio.

Descrio

Literal, at 100 caracteres, obrigatrio.

Produto
Cdigo de fabricao

Literal, somente letras e nmeros, at 20 caracteres, obrigatrio.

Nome do produto

Literal, at 100 caracteres, obrigatrio.

Categoria

Lista de valores editvel

Peso

Numrico, positivo, obrigatrio.

Introduo ao NHibernate
Em resumo, um objeto deve fazer apenas uma tarefa e
faz-la bem.
No se deve preocupar com o que os outros objetos
fazem.
Um objeto coordena objetos menores, ele confia que
esses objetos executam bem a sua tarefa e no se
preocupa com o como eles a executam.
A nica coisa que tem que existir entre todos os objetos
o consenso de com o qu cada um se deve preocupar.

S-ar putea să vă placă și