Aula 12

Transcrição

Aula 12
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Ambiente de Programação Visual
Acesso a Banco de Dados usando C#
(MySql Provider)
Prof. Mauro Lopes
Ambiente de Programação Visual – Prof. Mauro Lopes
1 - 22
31
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Objetivos
• Nesta aula iremos 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.
Ambiente de Programação Visual – Prof. Mauro Lopes
2 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Plano de Aula
• Cenário
• ADO.NET:
– O que é ?
– Providers
– Core Objects
• MySql ADO.NET Provider
Ambiente de Programação Visual – Prof. Mauro Lopes
3 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Máquina que
guarda os
dados.
Cenário
Máquina
“rodando” a
aplicação.
dados
dados
Rede
Ambiente de Programação Visual – Prof. Mauro Lopes
4 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Máquina que
guarda os
dados.
Cenário
Máquina
“rodando” a
aplicação.
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.
Ambiente de Programação Visual – Prof. Mauro Lopes
•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 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Máquina que
guarda os
dados.
Cenário
Máquina
“rodando” a
aplicação.
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?
Ambiente de Programação Visual – Prof. Mauro Lopes
6 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Máquina que
guarda os
dados.
Cenário
Máquina
“rodando” a
aplicação.
dados
dados
Rede
Eu compreendo um
pouco de C# e um
pouco de SQL.
Através do ADO.NET
Ambiente de Programação Visual – Prof. Mauro Lopes
7 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
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;
Ambiente de Programação Visual – Prof. Mauro Lopes
8 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
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
Ambiente de Programação Visual – Prof. Mauro Lopes
9 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
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 ou
MySql;
• 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;
Ambiente de Programação Visual – Prof. Mauro Lopes
10 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Providers
• Para manipulação de dados usamos o namespace
System.Data + .NET Framework data provider fornecido
pelo Fabricante do Banco de Dados.
Data Provider
Namespace
SQL Server
System.Data.SqlClient
OLE DB
System.Data.OleDb
ODBC
System.Data.Odbc
Oracle
System.Data.OracleClient
Ambiente de Programação Visual – Prof. Mauro Lopes
11 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
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
Classes do núcleo do ADO.NET.
Ambiente de Programação Visual – Prof. Mauro Lopes
12 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
ADO.NET Core Objects
• Core Objects e Providers
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
Ambiente de Programação Visual – Prof. Mauro Lopes
13 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
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.
Ambiente de Programação Visual – Prof. Mauro Lopes
14 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Obtendo o MySqlConnector.NET
• 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/6.0.html
• 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;
Ambiente de Programação Visual – Prof. Mauro Lopes
15 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Obtendo o MySqlConnector.NET
Adicionando a Referência
Selecionando a DLL MySql.Data.dll ao Projeto
Ambiente de Programação Visual – Prof. Mauro Lopes
16 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
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 é forward-only 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.
Ambiente de Programação Visual – Prof. Mauro Lopes
17 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Usando o MySqlConnector.NET
1.
2.
3.
4.
Ambiente de Programação Visual – Prof. Mauro Lopes
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;
18 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Usando o MySqlConnector.NET
• Vamos codificar um pouco !!!
– Vamos realizar o acesso a base de dados MySql para a tela criada
anteriormente na aula sobre MDI.
Ambiente de Programação Visual – Prof. Mauro Lopes
19 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Perguntas
Página do Professor Mauro:
http://www.dai.ifma.edu.br/~mlcsilva
Ambiente de Programação Visual – Prof. Mauro Lopes
20 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Próxima Aula...
• Acessando Banco de Dados usando C#.
Ambiente de Programação Visual – Prof. Mauro Lopes
21 -22
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
Referências
• Materiais avulsos da Internet e o livro C#: Guia
do Programador, Joel Saade - Editora Novatec,
687 páginas.
Ambiente de Programação Visual – Prof. Mauro Lopes
22 -22

Documentos relacionados

Aula 13

Aula 13 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

Leia mais

Aula 7

Aula 7 específica, como por exemplo, com uma base SQL Server; • Interfaces principais: IDbConnection, IDbCommand e IDbDataReader, IDbDataTransaction e IDbDataAdapter; • A partir destas interfaces qualquer...

Leia mais

Programação Extrema

Programação Extrema Jude/ArgoUML Dentre outras ferramentas que serão discutidos com os alunos.

Leia mais

Programação Extrema

Programação Extrema Modelo de Classes Modelo de Dados Processos de Negócio Manual do Usuário Acompanhamento diário Acompanhamento do Projeto Fotos

Leia mais