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 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 maisProgramação Extrema
Jude/ArgoUML Dentre outras ferramentas que serão discutidos com os alunos.
Leia maisProgramaçã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