ado.net framework

Click here to load reader

Upload: hanne

Post on 14-Feb-2016

84 views

Category:

Documents


1 download

DESCRIPTION

ADO.NET Framework. INE 5612 – DSOOII Prof. Frank Siqueira - Turma 04238A Equipe: Jucemar , Rodrigo, William. Introdução ao ADO.net. Hoje há novas necessidades e desafios nos modelos de programação para acesso a dados em relação ao antigo modelo “cliente/servidor”. - PowerPoint PPT Presentation

TRANSCRIPT

Evoluo do ADO para o atual ADO.net.

INE 5612 DSOOII

Prof. Frank Siqueira - Turma 04238AEquipe: Jucemar, Rodrigo, WilliamADO.NET FrameworkIntroduo ao ADO.netHoje h novas necessidades e desafios nos modelos de programao para acesso a dados em relao ao antigo modelo cliente/servidor.H um crescimento no nmero de aplicaes Web que rodam no cliente, sendo assim no se pode manter uma conexo aberta durante muito tempo.As aplicaes hoje so desenvolvidas em multicamadas e h grandes desafios de como passar esses dados entre essas camadas.

Introduo ao ADO.netO modelo de programao atual pede que ns tenhamos um modelo desconectado.O ADO.net foi criado pensado justamente nessas novas necessidades e desafios do novo modelo de programao.Constitui-se, basicamente, em um conjunto de classes para trabalhar com dados.Inclui ferramentas para se conectar a um banco de dados, executar comandos e recuperar os resultados. Os resultados so processados diretamente, colocados em um objeto DataSet e exibidos para o usurio .ADO.NET uma evoluo do ADO (ActiveX Data Objects).Sistemas Operacionais compatveisCaractersticas compatvel com aplicaes de cenrios conectados; compatvel com aplicaes de cenrios desconectados; um modelo de programao com suporte avanado para o XML;Permite trabalhar com mltiplas fontes de dados diferentes ao mesmo tempo e de uma mesma maneira;CaractersticasTotalmente integrado ao .NET Framework;Como nativo, sua API pode ser utilizada com as diversas linguagens que fazer parte do .NET Framework: Visual Basic, C#, entre outras; sucessor do ADO, porm mais flexvel;Possui um conjunto de Classes, Interfaces, Estruturas e Enumeraes que gerem o aceso a dados dentro do .NET Framework;

Compatibilidade com fontes de dados.Permite a comunicao com qualquer banco de dados relacionais entre outras fontes como arquivos CVS e Excel e etc.

Arquitetura do ADO.net

Arquitetura do ADO.net - DataProvider

So bibliotecas que possibilitam uma maneira comum de interagir com uma fonte especfica de dados.Cada biblioteca possui um prefixo que indica qual provedor ela suporta.DataProvider - Principais provedoresNome do ProvedorAPI prefixoDescrioODBC Data ProviderOdbcFonte de dados com uma interface ODBC interface. Geralmente usada para banco de dados antigosOleDb Data ProviderOleDbFonte de dados que expe uma interface OleDb interface, ou seja: Access ou ExcelOracle Data ProviderOraclePara banco de dados OracleSQL Data ProviderSqlPara interao com o Microsoft SQL ServerArquitetura do ADO.net - DataProvider

Connection: Usado para se conectar a base de dadosCommand: Usado para criar comandos dentro da fonte de dadosDataReader: Fornece um acesso conectado somente-leitura e somente-para-frente a uma fonte de dados.O DataReader efetua uma nica passagem pelo conjunto de registros do banco da forma mais eficiente possvel. So objetos que no podem ser diretamente instanciados. O DataReader retornado pelo mtodo ExecuteReader do objeto Command.Arquitetura do ADO.net - DataProvider

DataAdapter: Componentes encarregados de chamar os comandos de leitura, atualizao, incluso e excluso de informaes em uma fonte de dados pode ser usado para preencher um DataReader ou um DataSet.O DataAdapter promove associao entre o provedor de dados .NET e o DataSet. um mediador, que facilita a comunicao entre o banco de dados e o DataSet. O DataAdapter l os dados do banco e os armazena dentro do DataSet atravs do mtodo Fill. Ele tambm escreve as alteraes efetuadas nos dados, a partir do DataSet, para que elas posteriormente sejam gravadas no banco atravs do mtodo Update.

Arquitetura do ADO.net - DataSet

DataSet: Fornece um representao relacional em memria de dados, sendo um conjunto completo de dados que incluem tabelas que contm dados, restries de dados e relacionamentos entre as tabelas. O acesso desconectado. o principal componente da arquitetura ADO.NET, armazenando dados do banco no lado do cliente. Funciona como uma coleo de uma ou mais tabelas, que forma os objetos DataTable. Cada DataTable corresponde a uma nica tabela ou viso. Assim, um objeto do tipo DataSet simula a estrutura da base de dados qual se efetuou a consulta.

Arquitetura do ADO.net - DataSetCriada para manipular os dados independente da fonte;Pode receber fontes de dados de bancos de dados atravs do DataAdapter;Pode trabalhar diretamente com arquivos XML;Pode ainda trabalhar com fontes de dados diferentes dentro de um mesmo DataSet;Permite manipular os dados, efetuando leituras e alteraes necessrias no modelo desconectado, sem a necessidade de manter a conexo aberta com o banco de dados.Arquitetura do ADO.net - DataSet

DataRelationCollection: Permite a criao de relacionamentos entre as DataTables contidas dentro do DataSet.Com tudo isso tem-se um modelo desconectado em memria algo muito parecido com que voc possui em um banco de dados.

Alterao na base - DesconectadoExemplos de Utilizao C#using System.Data.SqlClient;

// Instancia um objeto DataSetDataSet objetoDataSet = new DataSet();

// Instancia um objeto conexo e passa dados para a conexo como parametrosSqlConnection conex = new SqlConnection(Servidor, DB, User, Senha);

// Abre a conexoconex.Open();

// Instncia um objeto DataAdapter especializado em Fontes de dados SQLSqlDataAdapter adapter = new SqlDataAdapter();Exemplos de Utilizao C#// Inicializa o atributo do objeto DataAdapter responsvel pelas consultas ao BD passando como parametro a consulta e a conexo adapter.SelectCommand = new SqlCommand(select * from Usuarios, conex);

//Cria a tabela Usuarios dentro do objeto DataSet e preeche ela com o resultado da consulta ao BDadapter.Fill(objetoDataSet,Usuarios);

// Fecha a conexo com o servidorconex.Close();

Exemplos de Utilizao C#//Retorna a tabela Usurios do objetoDataSet e armazena em uma variavelDataTabletabela= objetoDataSet.Tables[Usuarios"];

//Altera o campo cidade do primeiro usurio tabela.Rows[0][cidade"]=Florianopolis";

//Efetua a atualizao da base de dados a partir do objetoDataAdapteradapter.Update(objetoDataSet);ADO : ActiveX Data Objects (ADO) mecanismo Component Object Model criado pela Microsoft para que programas pudessem trocar informaes com as bases de dados.

Pacote Microsoft Data Access Components (MDAC), disponibilizado gratuitamente, tem suporte a ASP, Delphi, PowerBuilder e VBA

ADO : aplicao em ambientes Cliente/Servidor com acesso simultneo de vrios usurios. Era utilizado em pginas dinmicas desenvolvidas em ASP, que rodavam VBScript e JavaScript no servidor.HistricoADO x ADO.NETADO : utilizava um conjunto comum de classes para executar conexes a bancos de dados, recuperar registros e efetuar atualizaes nesse banco, executar procedures, etc.

ADO : basicamente trs objetos, que no ADO.NET foram expandidos e especializados para suportarem as funcionalidades dos seus fornecedores de acesso. No esquema ao lado, Xxx pode ser alterado para Odbc, Sql, dentre outros.

ADO.NET : possui dois conjuntos de classes que so utilizadas para cessar os dados, dependendo de como eles esto armazenados.

ADO.NET : classes Disponibilizadas em pacotes diferentes. Para acessar um SQL Server, utiliza classes do pacote System.Data.SqlClient. Para acessar dados em outras fonts (como Excel, MySQL, Access, incluindo SQL Server), so utilizadas as classes do pacote System.Data.OleDb namespace.

ADO x ADO.NETO ADO utiliza o objeto Recordset para navegar e manipular dados. O ADO.NET substituiu esse objeto por outros trs : DataReader e DataAdapter (para connected recordsets), e DataSet (para disconnected recordsets).

O Recordset funciona como uma nica tabela. Se for necessrio que ela contenha dados de vrias tabelas diferentes, ser necessrio executar o comando JOIN para que todos os registros sejam reunidos em uma nica relao.

ADO x ADO.NETOperaoADOADO.NETSuporte a XMLLimitadoCompletoRepresentao dos dados em memriaRecordsetDatasetTabelasSuporta apenas uma tabela, demandando uso do operador JOINSuporta mltiplas tabelas, com simulao da estrutura do bancoNavegaoVarredura sequencial das colunas com o mtodo MoveNextColunas representadas como colees, permitindo acesso direto a dados e posies especficasConexo ao banco de dadosObjeto recordset permite operaes offline, mas o ADO foi desenhado para operar com uma conexo sempre ativa base de dados. Conexo dura apenas o tempo necessrio para efetuar operaes no Banco de Dados como Select ou Update. Informaes so lidas para dentro do objeto dataset, onde sero trabalhadas sem que precise haver conexo ativa com a base de dados.Passagem de dadosComunicao em modo binrio (Modelo COM - Composed Objected Model-marshaling)XML. Comunicao atravs de um data adapter, permite controlar como os dados so transmitidosCompartilhamento de dados entre aplicaesSuporte limitado ao tipo de dados que podem ser transmitidos do recordsetTransmisso de dados baseada em formato XML, sem restries ao tipo de dados que trafegamRefernciashttp://www.macoratti.net/08/11/c_adn_1.htmhttp://msdn.microsoft.com/pt-br/data/gg252014.aspxhttp://www.macoratti.net/adn_bpu1.htmhttp://www.dei.isep.ipp.pt/~jtavares/ADAV/downloads/guiao_ADO_dotNet.pdfhttp://www.macoratti.net/08/11/c_adn_1.htmhttp://msdn.microsoft.com/en-us/library/ms973217.aspxhttp://support.microsoft.com/kb/183606/en-us?fr=1http://www.macoratti.net/d040901.htmhttp://pt.wikipedia.org/wiki/ActiveX_Data_Objectshttp://www.devguru.com/features/tutorials/adonet/AdoNet1.asp