Acessando Dados com ADO.NET

Documentos relacionados
Acesso a Banco de Dados usando C#

Visual Basic.NET ADO.NET. Professor: Danilo Giacobo. Página pessoal:

Tutorial C# - ADO.NET

using System; using System.Collections.Generic; using System.Text; namespace Estudo { public class PessoaJuridica : Pessoa { private string cnpj;

Ambientes de Desenvolvimento Avançados Aula Teórico-Prática Programação com ADO.NET

Integração de Aplicações e Sistemas Abordagem Táctica da Integração

INTRODUÇÃO AO MODELO ADO.NET (DESCONECTADO)

ADO.NET - Roteiro básico e Boas Práticas

Componentes ADO e o Acesso ao Banco de Dados

Acesso a Banco de Dados usando C# (Usando o MySql ADO.NET Provider)

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET. quarta-feira, 7 de novembro de 12

Acesso a Banco de Dados usando C#

Material II-Bimestre Introdução e conceitos fundamentais de aplicações para manipulação e Acesso a Banco de Dados em C#

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

Agenda. Acesso a Dados (ADO.NET) Março 2005 Engenharia Software Link Consulting

Computação Móvel. Nuno Flores, Departamento de Engenharia Informática Faculdade de Engenharia da Universidade do Porto

Departamento de Engenharia Informática Instituto Superior de Engenharia do Porto Instituto Politécnico do Porto ADO.NET.

2 Instalando e configurando o ambiente de desenvolvimento do Microsoft SQL Server

Acesso a Banco de Dados usando C# (MySql Provider)

ADO1. Visual Studio 2008 New Web Site: ADO1 em C:\Utilizadors\Fernando\ \ARQSI\TP6

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 09a- Acessando os dados através JDBC

RESUMO DE AULAS PC1 ETEC TAQUARITUBA 2 SEM 2011

BD II (SI 587) Programação SQL. Prof. Josenildo Silva.

Leonardo Gresta Paulino Murta

Introdução à Banco de Dados em Delphi:

Programação com Acesso a Banco de Dados

Desenvolvimento Web TCC Turma A-1

Ambientes de Desenvolvimento Avançados

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

Programação Orientada a Objetos II

Acesso a Dados VS.NET Smart Client (Windows Application)

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

JAVA JDBC COMO FUNCIONA. Programação Orientada a Objetos Flávio de Oliveira Silva 315. Programação Orientada a Objetos Flávio de Oliveira Silva 316

Aula 1 Acesso a Banco de Dados

Views. objconexao = Mapped.Connection(); objcommand = Mapped.Command("SELECT * FROM vw_todoscarros_com_piloto", objconexao);

1.2- Ambientes de Middleware

Conexão com Banco de Dados, Inserção, exclusão e atualização de registros

Conexão genérica com banco de dados

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

IEC Banco de Dados I Aula 11 Técnicas de Programação SQL

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 9- Introdução ao JDBC

[versão para impressão] Link original: comp=24763 Conhecendo o PL/SQL

Formação ASP.NET MVC com C#

Tarefa Orientada 2 Aplic. Manutenção de Produtos - DataGridView

JDBC JDBC. JDBC - Arquitetura. JDBC Arquitetura Pacote Java.sql. Java Database Connectivity JDBC PostgreSQL

Front-End Uso da Linguagem Turbo Delphi para Acesso ao Banco de Dados Mysql

Programação Orientada a Objetos JDBC Java Database Connectivity

TECNOLOGIAS DE ACESSO A BASES DE DADOS. Profª Ana Paula Cação Maio de 2018

Acesso a Dados ADO.NET

9/24/2014. Prof. André Backes

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Instalação Serviço de Acompanhamento de Projeto (PCSIS007) Sistema de Gestão da Qualidade

Tutorial SQL Server 2014 Express

Administração de Banco de Dados. José Antônio da Cunha CEFET - RN

Banco de Dados. Banco de Dados

Integrando Java com Banco de Dados

Spectrum Miner. Versão 8.0. Guia de administração para a integração do Portrait Dialogue

Faça Fácil. Proficy Historian e SQL Linked Server

Sumário. Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch)

SQL Pacotes. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados Pacotes

DATA ACCESS OBJECT (DAO)

Proposta de calendário - Comissão Permanente de Ensino

ESTRUTURA DE DADOS -ARQUIVOS. Prof. Angelo Augusto Frozza, M.Sc.

CONSULTAS AO SQL SERVER 2005 ATRAVÉS DOS OBJETOS VISICONX

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Sistemas Empresariais Integrados

Oracle Database: Fundamentos de SQL e PL/SQL

Aula Prática JBCD - Introdução

Código do Sistema Ponto de Vendas

Exercícios de fixação: Listas

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri

Nota de Aplicação: Utilização de Base de Dados MS SQL Server com BluePlant. Sumário

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

Android e Bancos de Dados


FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

Administração de Sistemas Operacionais. Prof. Marlon Marcon

Escrito por Neri Neitzke Qui, 13 de Outubro de :52 - Última atualização Seg, 26 de Março de :48

PHP Programando com Orientação a Objetos

Professor Leonardo Larback

Projeto Final Curso de Java Básico

C# - Conexão com MySQL

Tutorial de Manipulação de dados com SQLite

Manipulação de Banco de Dados com Java 1. Objetivos

Java JDBC - I. Ex. 2: para o SQLServer da Microsoft, o driver JDBC pode ser obtido em

Sinai Sistema Integrado Administrativo de Igreja

Introdução ao Fortran 90-7

Desenvolvimento de Componentes e Acesso a dados com ADO.NET

INSTALAÇÃO DO PROCESSOR BI 6.0

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Adriano Maranhão TRANSAÇÕES

Transcrição:

Acessando Dados com ADO.NET

O queéado.net? XML restrito ADO Desenhado para ambientes conectados (cliente-servidor, por exemplo) COM Usa o OLE DB para acessar os dados Suporte avançado a XML ADO.NET Desenhado para ambientes desconectados.net Usa o DataProvider do SQL Server para acessar o SQL Server Usa o DataProvider do.net para OLE DB (o acesso ao SQLSERVER é direto e nativo) Connection e Command possuem as mesmas funcionalidades em ADO e ADO.NET Command encapsula comportamentos dos comandos SQL Connection gerencia conexão ao banco Recordset (possui muitas funcionalidades em uma mesma classe) Recordset foi eliminado e suas funcionalidades foram divididas em 3 interfaces DataReader DataAdapter DataSet

ADO.NET É dividido em 2 grandes classes: Data Classes Manager Providers

Usando o ADO.NET para acessar dados

O modelo de objetos do ADO.NET DataSet Tabela Tabela Tabela SqlDataAdapter OleDbDataAdapter.NET Data Provider para SQL Server SqlCommand OleDbCommand.NET Data Provider para OLE DB SqlConnection OleDbConnection SQL Server 7.0 (e superiores) Memória do Web Server Base de Dados Fontes OLE DB SQL 6.5, outros bancos e fontes de dados

ADO.NET Manager Providers Classes que fazem acesso aos dados Não armazenam dados diretamente mas sabem ler e escrever em bancos de dados físicos O ADO.NET possui 4 Manager Providers: SQLSERVER OLEDB ORACLE ODBC

ADO.NET Manager Providers Possui um conjunto de classes que implementam interfaces que, ditem comportamentos específicos: Connection Command DataReader

ADO.NET Connection Abstrai conexão fisicamente ao banco de dados PROPRIEDADES: ConnectionString: utilizada para informar detalhes que a aplicação necessita para conectar-se ao banco, tais como: nome do servidor, nome do banco, usuário e senha MÉTODOS: Open Close Métodos de Transação

Connection Similar ao objeto Connection do ADO Existem dois objetos Connection Nativos SqlConnection para SQL Server 7.0 e posterior OleDbConnection para fontes de dados OLE DB: Bancos de dados SQL Server 6.5 ou anterior e outros Dim strconn As String = _ "data source=(local); " & _ "initial catalog=northwind; " & _ "integrated security=true" Dim cn As New SqlConnection(strConn) Dim strconn As String = _ "data source=(local); " & _ "initial catalog=northwind; " & _ "integrated security=true" Dim cn As New SqlConnection(strConn)

Command Command No ADO você pode mandar comandos para o banco de dados através da Command e da Connection, porém a Command émaiseficiente Obrigatório no.net Utilizado para executar selects, store procedures e manipulação de parâmetros MÉTODOS: ExecuteReader ExecuteNonQuery ExecuteEscalar

Command Command MÉTODOS: ExecuteReader Utilizado para execução de comandos sql que retornem um conjunto de resultados como resposta e permitem apenas leitura a esse conjunto, que é chamado de DATAREADER select * from alunos ExecuteNonQuery Utilizado para execução de comandos sql que não retornem um conjunto de resultados como resposta insert, delete e update.. ExecuteEscalar: Utilizado para execução de comandos sql que retornem valores simples ou resultados que não estejam associados ao campos de tabelas select count(*) from alunos

Command Similar ao objeto Command do ADO Existem dois objetos Command Nativos SqlCommand para o SQL Server 7.0 ou posterior OleDbCommand para fontes de dados OLE DB: Bancos de dados SQL Server 6.5 ou anterior e outros Dim cmdauthors As New SqlCommand( _ "select count(distinct city) from authors", cn) Dim result As Integer = _ Convert.ToInt32(cmdAuthors.ExecuteScalar()) Dim cmdauthors As New SqlCommand( _ "select count(distinct city) from authors", cn) Dim result As Integer = _ Convert.ToInt32(cmdAuthors.ExecuteScalar())

Command Crie o parâmetro, configure a direção e o valor e adicione-o a uma coleção de parâmetros Passe os parâmetros numa única chamada Dim p1 As New SqlParameter("@title", SqlDbType.Text) p1.direction = ParameterDirection.Input p1.value = "Sushi, Anyone?" Dim p2 As New SqlParameter("@ytd_sales", SqlDbType.Int) p2.direction = ParameterDirection.Output Dim cmdsp As New SqlCommand("get_sales_for_title", cn) cmdsp.commandtype = CommandType.StoredProcedure cmdsp.parameters.add(p1) cmdsp.parameters.add(p2) cmdsp.executenonquery() TextBox1.Text = p2.value.tostring()

DataReader DataReader Conjunto de resultados obtidos em resposta da execução do MÉTODO ExecuteReader da Command Não contém dados, apenas representa o conjunto de resultados Forward-only Read-only Não suporta navegação ou atualização Acesso a dados rápido Conectado a uma fonte de dados

DataReader Vantagens do DataReader sobre DataSets Acesso mais rápido aos dados Usa menos recursos dos servidores

DataReader Chame Read para cada registro Retorna falso quando não há mais registros Acessando os campos Parâmetro é a posição ordinal do campo As funções Get tem a melhor performance While myreader.read() str.append(myreader(1)) str.append(myreader("field")) str.append(myreader.getdatetime(2)) End While Sempre feche o DataReader e a conexão

ADO.NET Data Classes São classes capazes de conter dados Contém dados porém desconhecem sua representação física, nem de onde eles vêm, nem como são obtidas Os dados podem prover de um banco de dados, de um arquivo xml ou até mesmo terem sido montados em runtime sem vínculo ou representação física Dados são vistos como arrays e não como cursores Podem ser ligados a controles (Bind)

ADO.NET Data Classes Suportam atualização em lote Podem conter várias tabelas de várias fonte de dados Apesar de um DataSet poder existir só e independente, muitas vezes utilizamos um DataAdapter para mediar interações entre o Banco de Dados (ou fonte física) e o DataSet

DataAdapter DataSet SelectCommand.NET Data Provider UpdateCommand Data Adapter InsertCommand DeleteCommand Command Command Command Command Cada comando é um comando SQL ou uma stored procedure Connection Banco de Dados

DataTables DataSet DataTable DataRowCollection DataColumnCollection DataConstraintCollection DataRelationCollection

Preenchendo um DataSet Use o comando Select do objeto DataAdapter Chame o método Fill para popular o DataSet Dim cn As New SqlConnection("data source=(local)\moc; integrated security=true; " + "initial catalog=northwind") Dim cmdselect As New SqlCommand() cmdselect.commandtext = "Employee Sales by Country" cmdselect.connection = cn cmdselect.commandtype = CommandType.StoredProcedure Dim da As New SqlDataAdapter() da.selectcommand = cmdselect Dim ds As New DataSet() da.fill(ds, "EmpSales")

Criando um objeto DataReader Try Crie a conexão Crie um objeto Command (com o comando) Abra a conexão com o banco Chame o método ExecuteReader Use o objeto DataReader para ver os dados Catch Verifica Erros Finally Fecha o objeto DataReader Fecha a conexão

Manipulando Erros A classe SqlException descreve a exceção que ocorreu A classe SqlException contém uma coleção de objetos SQLError Propriedade Descrição Class LineNumber Message Number Mostra o grau de severidade do erro Número da linha do batch ou stored procedure que gerou o erro Texto que descreve o erro Número do erro

Comparando DataSets e DataReaders Leitura e escrita Desconectado Pode ser vinculado a múltiplos controles Pode ler e escrever em qualquer direção Mais lento DataSet Pode incluir multiplas tabelas de diferentes bancos de dados Suportado pelas ferramentas visuais do Visual Studio.NET Somente leitura Conectado DataReader Baseado num comando SQL de um único banco de dados Só pode ser vinculado a um único controle Apenas para a frente Mais rápido Codificado manualmente

Data-Bound Controls Usando Data-Bound Controls (controles vinculados) Demonstração: Vinculando um DataGrid a um DataSet Vinculando um Data-Bound Control a um DataReader Demonstration: Customizando o DataGrid

Usando Data-Bound Controls Configure as propriedades Propriedade DataSource DataMember DataTextField DataValueField Preencha o DataSet e depois chame DataBind DataAdapter1.Fill(ds) lstemployees.databind() Descrição O DataSet que contém os dados A DataTable do DataSet O campo da DataTable que vai estar vinculado à exibição O campo da DataTable que vai ser vinculado ao valor