Apresentação do PowerPoint - Campus São Luís

Transcrição

Apresentação do PowerPoint - Campus São Luís
Acesso a Banco de Dados usando C#
Linguagem de Programação III
Mauro Lopes Carvalho Silva
Professor EBTT
DAI – Departamento Acadêmico de Informática
Campus Monte Castelo
Instituto Federal de Educação Ciência e Tecnologia do Maranhão
Linguagem de Programação III – 5º Período
Objetivos
• Nesta aula iremos dar continuidade aos elementos
de programação da Linguagem C#. Iremos aqui
apresentar o ADO.NET. Esta importante parte da
tecnologia .NET permite que as diversas aplicações
desenvolvidas usando a plataforma tenha acesso ao
recurso de persistência de dados. Ao final desta
aula, o aluno poderá implementar pequenas
aplicações que envolvem os conceitos abordados.
Boa aula a todos.
Linguagem de Programação III – 5º Período
Plano de Aula
• Cenário
• ADO.NET:
–
–
–
–
–
O que é ?
Arquitetura
Providers
Core Objects
Modo Conectado e Desconectado
• MySql ADO.NET Provider
Linguagem de Programação III – 5º Período
3
Acesso a BD usando C#
Cenário
Máquina “rodando”
a aplicação.
dados
Máquina que guarda os
dados.
dados
Rede
Linguagem de Programação III – 5º Período
4
Acesso a BD usando C#
Cenário
Máquina “rodando”
a aplicação.
dados
Máquina que guarda os
dados.
dados
Rede
•Após o desenvolvedor criar e testar
sua aplicação, ele cria um instalador
e o executa nas máquinas que
deverão “rodar” sua aplicação;
•O usuário que vai usar a aplicação
recebe o treinamento e o manual do
usuário, além da aplicação já
apresentar uma ajuda online;
•O usuário começa a usar a aplicação
e possíveis problemas podem ser
encaminhados ao desenvolvedor
para que o mesmo possa corrigir.
Linguagem de Programação III – 5º Período
•A equipe técnica prepara uma
máquina para ser o servidor de dados
da aplicação;
•Nesta máquina será instalado o
SGBD para o qual a aplicação foi
desenvolvida;
•Esta máquina tem de ser bem
preparada pois se ela parar por
algum motivo, ninguém poderá usar a
aplicação;
•Pois é nela que será guardado, tudo
que for feito na aplicação.
5
Acesso a BD usando C#
Cenário
Máquina “rodando”
a aplicação.
dados
Máquina que guarda os
dados.
dados
Rede
•Vamos imaginar que nossa aplicação foi
escrita em C#.
Eu só entendo
programação,
principalmente POO.
•Que nosso SGBD seja o MySql.
Eu só entendo SQL.
Como estas duas tecnologias podem conversar?
Linguagem de Programação III – 5º Período
6
Acesso a BD usando C#
Cenário
Máquina “rodando”
a aplicação.
dados
Máquina que guarda os
dados.
dados
Rede
Eu compreendo um
pouco de C# e um
pouco de SQL.
Através do ADO.NET
Linguagem de Programação III – 5º Período
7
Acesso a BD usando C#
ADO.NET - O que é ?
• O ADO.NET é uma evolução do ADO (ActiveX Data
Objects) que foi utilizado até o Visual Basic 6;
• O
ADO.NET
foi
construído
sem
nenhum
reaproveitamento da tecnologia ADO;
• O ADO.NET permite interagir com bancos de dados
relacionais e outras fontes de dados;
• O ADO.NET é a tecnologia que as aplicações .NET
usam para se comunicar com bancos de dados, caso
precisem adicionar, atualizar, apagar ou recuperar
registros;
• O ADO.NET possui interfaces e classes concretas que
provêm todas essas funcionalidades;
Linguagem de Programação III – 5º Período
8
Acesso a BD usando C#
ADO.NET - O que é ?
• Um framewrok orientado a objetos que permite a
sua aplicação interagir com um sistema de Banco
de Dados;
Aplicações
Fontes de
Dados
Linguagem de Programação III – 5º Período
9
Acesso a BD usando C#
Arquitetura
• A arquitetura do ADO.NET está dividida em dois
grupos:
Manager Providers (provedores gerenciados)
 Content Components (componentes de conteúdo)
• Managed Providers:

•
•
se encarregam do acesso a dados, porém não armazenam os mesmos,
fazendo ligação direta com a fonte de dados;
Neste grupo temos classes de conexão, transação, execução de
comandos (Command) e leitura de dados (DataReader);
• Content Components:
•
•
responsável por armazenar e manipular os dados em memória, porém
eles não sabem de sua origem e nem o que significam;
neste grupo temos as classes DataSet, DataTable, DataRow,
DataColumn, etc;
Linguagem de Programação III – 5º Período
10
Acesso a BD usando C#
Arquitetura
• Arquitetura ADO.NET, onde a parte referente ao
DataSet representa os Content Components.
Managed Providers
Linguagem de Programação III – 5º Período
11
Acesso a BD usando C#
Providers
• Os providers do ADO.NET são pacotes de classes que
possibilitam a interação com uma fonte de dados
específica, como por exemplo, com uma base SQL Server;
• Interfaces principais: IDbConnection, IDbCommand e
IDbDataReader,
IDbDataTransaction
e
IDbDataAdapter;
• A partir destas interfaces qualquer fabricante de banco
de dados pode criar componentes (um pacote) que
implementam as mesmas para permitir o acesso ao seu
SGBD;
• Cada pacote possui um prefixo que indica qual a fonte de
dados que este pacote suporta;
Linguagem de Programação III – 5º Período
12
Acesso a BD usando C#
Providers
• Core namespace é formado:
Framework data providers;
Data Provider
System.Data
+
.NET
Namespace
SQL Server
System.Data.SqlClient
OLE DB
System.Data.OleDb
ODBC
System.Data.Odbc
Oracle
System.Data.OracleClient
Linguagem de Programação III – 5º Período
13
Acesso a BD usando C#
ADO.NET Core Objects
Classe
Descrição
Connection
é responsável por estabelecer uma ligação com a fonte de
dados específica.
Command
é utilizado para executar uma instrução SQL.
DataReader
faz leitura de dados forward-only e read-only de uma fonte de
dados.
DataAdapter
Popula a DataSet e provê atualizações em uma fonte de
dados.
DataTable
representa uma ou mais tabelas de dados em memória.
DataSet
trabalha com um conjunto de dados em cache não
conectados ao banco de dados, ele não depende da fonte
de dados e pode armazenar dados de múltiplas tabelas
Linguagem de Programação III – 5º Período
14
Acesso a BD usando C#
ADO.NET Core Objects
Linguagem de Programação III – 5º Período
15
Acesso a BD usando C#
Providers e Core Objects
Core
Objects
SQL Server
Provider
OLE DB
Provider
Oracle
Provider
ODBC
Provider
Connection
SqlConnection
OleDbConnection
OracleConnection
OdbcConnection
Command
SqlCommand
OleDbCommand
OracleCommand
OdbcCommand
DataReader
SqlDataReader
OleDbDataReader
OracleDataReader
OdbcDataReader
DataAdapter
SqlDataAdapter
OleDbDataAdapter
OracleDataAdapter
OdbcDataAdapter
Linguagem de Programação III – 5º Período
16
Acesso a BD usando C#
Modo Conectado e Desconectado
• Existem dois modelos de se trabalhar a ligação da
aplicação com o banco de dados no ADO.NET: O modelo
conectado e o modelo desconectado;
• No modelo conectado o banco de dados trabalha de
forma online, ou seja, em cada operação CRUD (Create,
Retrieve, Update e Delete) realizada será aberta uma
conexão com o banco de dados, e esta conexão será
fechada após o seu uso;
• No modelo desconectado os dados serão manipulados
sem a necessidade de utilizar os serviços de rede a todo
o momento. No modelo desconectado é comum o uso
dos objetos SqlConnection, o DataSet e o
SqlDataAdapter;
Linguagem de Programação III – 5º Período
17
Acesso a BD usando C#
Modo Conectado e Desconectado
• Modo Conectado
• Modo Desconectado
Linguagem de Programação III – 5º Período
18
Acesso a BD usando C#
Modo Conectado
A
P
L
I
C
A
Ç
Ã
O
ADO.NET
Linguagem de Programação III – 5º Período
19
Acesso a BD usando C#
Modo Desconectado
ADO.NET
A
P
L
I
C
A
Ç
Ã
O
Linguagem de Programação III – 5º Período
20
Acesso a BD usando C#
MySql ADO.NET Provider
• O ADO.NET provê uma arquitetura orientada a objetos para
comunicação entre a aplicação .NET e uma fonte de dados;
• A fonte de dados pode ser qualquer uma que API dê
suporte. Mas comumente esta fonte é um banco de dados
gerenciado por um SGBD;
• Veremos aqui como usar uma fonte MySql com o .NET.
Data
Source
Connection
Object
(ADO.Net)
Linguagem de Programação III – 5º Período
Data
Adapter
Dataset
(Local)
Application
21
Acesso a BD usando C#
MySql ADO.NET Provider
• Precisamos do MySqlConnetor.NET para permitir que nossa
aplicação .NET tenha acesso a base de dados no padrão do
MySql;
• Primeiro devemos fazer download no site:
http://dev.mysql.com/downloads/connector/net/
• Executar a instalação;
• Após a instalação criar uma referência do MySqlConnector
na aplicação .NET;
• Para isto, basta com clicar com o botão direito sobre a
Aplicação .NET (References) e escolher a opção Add
Reference;
Linguagem de Programação III – 5º Período
22
Acesso a BD usando C#
Adicionando o MySqlConnector.NET
Adicionando a Referência
Selecionando a DLL MySql.Data.dll ao Projeto
Linguagem de Programação III – 5º Período
23
Acesso a BD usando C#
A API do MySql ADO.NET Provider
MySqlConnection cria uma conexão com um banco
de dados MySQL;
MySqlCommand permite a execução de qualquer
comando sql junto ao banco de dados MySql;
MySqlDataReader fornece um acesso rápido ao
banco de dados MySql. Este acesso é forwardonly e read-only;
MySqlDataAdapter serve como uma interface entre
as classes de acesso a dados do MySQL com o
Microsoft DataSet.
MySqlParameter usado para armazenar parâmetros
dinâmicos para um MySqlCommand;
MySqlTransaction usado para representar uma
transação com o MySQL.
Linguagem de Programação III – 5º Período
24
Acesso a BD usando C#
Usando o MySqlConnector.NET
1.
2.
3.
4.
Linguagem de Programação III – 5º Período
Adicionar
na
aplicação
o
namespace:
using MySql.Data.MySqlClient;
Toda ação do banco de dados deve estar dentro de um bloco
try/catch;
Neste bloco de código a variável con foi definida no espaço do
formulário;
Realizamos a abertura do canal de comunicação no bloco try e
fechamos no finally;
25
Dúvidas
Página do Professor Mauro:
http://www.dai.ifma.edu.br/~mlcsilva
Linguagem de Programação III – 5º Período
Próxima Aula
• Programando o acesso a Banco de Dados usando
C#.
Linguagem de Programação III – 5º Período

Documentos relacionados