Introdução ao Desenvolvimento Web com ASP.NET05 – Acesso e Manipulação de Dados através de Classes do ADO.NET
O que veremos hoje?ADO.NETO que é?Qual é o seu objetivo?Qual a situação atual?Esquema do ADO.NETAcessando e Manipulando DadosNamespace System.DataDataTableDataSetSQLConnectionSQLCommandSQLDataAdapterSQLDataReaderTópicos de EsclarecimentoExercícioDicas de EstudoAgradecimento
ADO.NETO que é?ADO.NET é principal tecnologia de acesso e manipulação de dados da plataforma  .NET. Consiste em uma adaptação do antigo ADO (ActiveX Data Objects) para rodar no .NET Framework.Qual é o seu objetivo?O principal objetivo do ADO.NET é providenciar um acesso e manipulação de dados robusto e consistente para seu projeto, por meio de suas classes e componentes.
ADO.NETQual a situação atual?Acompanhar a evolução do .NET Framework fez com que o ADO.NET evoluísse junto. Hoje, não contamos somente com o ADO.NET como tecnologia de acesso e manipulação de dados presente na plataforma.Entre outras tecnologias de acesso e manipulação de dados, podemos citar o LINQ To SQL e o ADO.NET Entity Framework. Ambas são tecnologias de mapeameto objeto-relacional, sendo que a primeira funciona somente com o SGBD SQL Server.
ADO.NETEsquema do ADO.NETSegue abaixo um esquema das classes do ADO.NET.
Acessando e Manipulando DadosNamespace System.DataO Namespace System.Data provê uma série de classes auxiliares para acesso e manipulação de arquivos de banco de dados, tais como DataTable, DataSet, entre outros.
Acessando e Manipulando DadosDataSetA classe DataSet representa um cache de dados gravados em memória. Sua composição consiste em um conjunto de tabelas (DataTables) e relacionamentos retornados após a efetuação de uma operação ao Banco de Dados. Podemos dizer que um DataSet é um vetor de DataTables.DataTableO DataTable representa uma única tabela de um banco de dados que é criada em memória. Podemos ligar um DataTable diretamente a um controle GridView, por exemplo, a partir da propriedade DataSource do segundo, para a exibição dos dados contidos nessa tabela existente na memória.
Acessando e Manipulando DadosSQLConnectionA classe SQLConnection tem o objetivo de estabelecer uma conexão com um Banco de Dados SQL Server.Principais propriedades e métodosConnectionString: propriedade que especifica qual a string de conexão do banco de dados. A string de conexão com o banco pode ser passada também ao instanciar a classe. Ex.: SQLConnection conexao = new SQLConnection (stringDeConexao);Open(): método que abre uma conexão com o banco de dados selecionado.Close(): método que fecha a conexão com o banco de dados.
Acessando e Manipulando DadosSQLCommandA classe SQLCommand é responsável por executar um comando DML em uma base de dados SQL Server.Principais propriedades e métodosConnection: propriedade que recebe um SQLConnection com as informações do banco.CommandText: propriedade contendo o script SQL que será executado.CommandType: propriedade contendo o tipo de comando a ser usado (texto, storedprocedure ou acesso direto à tabela).ExecuteNonQuery(): método para executar comandos do tipo insert, update ou delete.ExecuteReader(): método para executar comandos do tipo select.ExecuteScalar(): método para executar comandos que retornam apenas uma linha e uma coluna, tais como avg(), min(), max() e count().
Acessando e Manipulando DadosSQLDataAdapterA classe SQLDataAdapter é responsável por executar um comando DML em uma base de dados SQL Server. Deve ser utilizada quando precisamos retornar um DataSet (usar em conjunto com a classe DataSet).Principais propriedades e métodosDeleteCommand: propriedade que executa um comando delete contido em um SQLCommand.InsertCommand: propriedade que executa um comando insert contido em um SQLCommand.SelectCommand: propriedade que executa um comando select contido em um SQLCommand.UpdateCommand: propriedade que executa um comando updatecontido em um SQLCommand.Fill(): preenche um DataSet com o resultado do comando SQL passado através de uma das propriedades citadas acima.
Acessando e Manipulando DadosSQLDataReaderA classe SQLDataReader provê uma leitura unidirecional dos dados, ou seja, ela lê os dados desejados e os mostra ao usuário, porém, não é possível fazer a manipulação dos mesmos. Para essa finalidade, deve-se usar a classe DataSet em conjunto com o SQLDataAdapter. Uma das principais vantagens do SQLDataReader em relação ao DataSet é a velocidade, pois a primeira é mais rápida devido ao fato de fazer somente a leitura de dados, enquanto a segunda permite a manipulação dos mesmos por meio do SQLDataAdapter.Fill(DataSet).
Tópicos de EsclarecimentoADO.NETÉ possível acessar e manipular dados a partir de outros SGBD’s que não são suportados nativamente pelo .NET Framework (Firebird, MySQL, Postgre, entre outros). Para isso, o desenvolvedor deve instalar o provedor específico do SGBD em sua máquina. Por padrão, o .NET suporta nativamente ODBC, OleDB, SQL Server (System.Data.SqlClient), entre outros.
Exercício
Dicas de EstudoADO.NET, LINQ To SQL e ADO.NET Entity Frameworkhttp://www.macoratti.nethttp://msdn.microsoft.com/pt-br/default.aspxhttp://www.linhadecodigo.com.brDesenvolvedor Cinco Estrelashttp://www.mslatam.com/brasil/dce/
Dicas de EstudoMSDN Experiencehttp://msdn.microsoft.com/pt-br/dd366110.aspxMSDN Media Center (Vídeos e Webcasts sobre diversos assuntos)https://www.msdnbrasil.com.br/mediacenter/Default.aspx
Agradecimentos

05 - Acesso e Manipulação de Dados através de Classes do ADO.NET

  • 1.
    Introdução ao DesenvolvimentoWeb com ASP.NET05 – Acesso e Manipulação de Dados através de Classes do ADO.NET
  • 2.
    O que veremoshoje?ADO.NETO que é?Qual é o seu objetivo?Qual a situação atual?Esquema do ADO.NETAcessando e Manipulando DadosNamespace System.DataDataTableDataSetSQLConnectionSQLCommandSQLDataAdapterSQLDataReaderTópicos de EsclarecimentoExercícioDicas de EstudoAgradecimento
  • 3.
    ADO.NETO que é?ADO.NETé principal tecnologia de acesso e manipulação de dados da plataforma .NET. Consiste em uma adaptação do antigo ADO (ActiveX Data Objects) para rodar no .NET Framework.Qual é o seu objetivo?O principal objetivo do ADO.NET é providenciar um acesso e manipulação de dados robusto e consistente para seu projeto, por meio de suas classes e componentes.
  • 4.
    ADO.NETQual a situaçãoatual?Acompanhar a evolução do .NET Framework fez com que o ADO.NET evoluísse junto. Hoje, não contamos somente com o ADO.NET como tecnologia de acesso e manipulação de dados presente na plataforma.Entre outras tecnologias de acesso e manipulação de dados, podemos citar o LINQ To SQL e o ADO.NET Entity Framework. Ambas são tecnologias de mapeameto objeto-relacional, sendo que a primeira funciona somente com o SGBD SQL Server.
  • 5.
    ADO.NETEsquema do ADO.NETSegueabaixo um esquema das classes do ADO.NET.
  • 6.
    Acessando e ManipulandoDadosNamespace System.DataO Namespace System.Data provê uma série de classes auxiliares para acesso e manipulação de arquivos de banco de dados, tais como DataTable, DataSet, entre outros.
  • 7.
    Acessando e ManipulandoDadosDataSetA classe DataSet representa um cache de dados gravados em memória. Sua composição consiste em um conjunto de tabelas (DataTables) e relacionamentos retornados após a efetuação de uma operação ao Banco de Dados. Podemos dizer que um DataSet é um vetor de DataTables.DataTableO DataTable representa uma única tabela de um banco de dados que é criada em memória. Podemos ligar um DataTable diretamente a um controle GridView, por exemplo, a partir da propriedade DataSource do segundo, para a exibição dos dados contidos nessa tabela existente na memória.
  • 8.
    Acessando e ManipulandoDadosSQLConnectionA classe SQLConnection tem o objetivo de estabelecer uma conexão com um Banco de Dados SQL Server.Principais propriedades e métodosConnectionString: propriedade que especifica qual a string de conexão do banco de dados. A string de conexão com o banco pode ser passada também ao instanciar a classe. Ex.: SQLConnection conexao = new SQLConnection (stringDeConexao);Open(): método que abre uma conexão com o banco de dados selecionado.Close(): método que fecha a conexão com o banco de dados.
  • 9.
    Acessando e ManipulandoDadosSQLCommandA classe SQLCommand é responsável por executar um comando DML em uma base de dados SQL Server.Principais propriedades e métodosConnection: propriedade que recebe um SQLConnection com as informações do banco.CommandText: propriedade contendo o script SQL que será executado.CommandType: propriedade contendo o tipo de comando a ser usado (texto, storedprocedure ou acesso direto à tabela).ExecuteNonQuery(): método para executar comandos do tipo insert, update ou delete.ExecuteReader(): método para executar comandos do tipo select.ExecuteScalar(): método para executar comandos que retornam apenas uma linha e uma coluna, tais como avg(), min(), max() e count().
  • 10.
    Acessando e ManipulandoDadosSQLDataAdapterA classe SQLDataAdapter é responsável por executar um comando DML em uma base de dados SQL Server. Deve ser utilizada quando precisamos retornar um DataSet (usar em conjunto com a classe DataSet).Principais propriedades e métodosDeleteCommand: propriedade que executa um comando delete contido em um SQLCommand.InsertCommand: propriedade que executa um comando insert contido em um SQLCommand.SelectCommand: propriedade que executa um comando select contido em um SQLCommand.UpdateCommand: propriedade que executa um comando updatecontido em um SQLCommand.Fill(): preenche um DataSet com o resultado do comando SQL passado através de uma das propriedades citadas acima.
  • 11.
    Acessando e ManipulandoDadosSQLDataReaderA classe SQLDataReader provê uma leitura unidirecional dos dados, ou seja, ela lê os dados desejados e os mostra ao usuário, porém, não é possível fazer a manipulação dos mesmos. Para essa finalidade, deve-se usar a classe DataSet em conjunto com o SQLDataAdapter. Uma das principais vantagens do SQLDataReader em relação ao DataSet é a velocidade, pois a primeira é mais rápida devido ao fato de fazer somente a leitura de dados, enquanto a segunda permite a manipulação dos mesmos por meio do SQLDataAdapter.Fill(DataSet).
  • 12.
    Tópicos de EsclarecimentoADO.NETÉpossível acessar e manipular dados a partir de outros SGBD’s que não são suportados nativamente pelo .NET Framework (Firebird, MySQL, Postgre, entre outros). Para isso, o desenvolvedor deve instalar o provedor específico do SGBD em sua máquina. Por padrão, o .NET suporta nativamente ODBC, OleDB, SQL Server (System.Data.SqlClient), entre outros.
  • 13.
  • 14.
    Dicas de EstudoADO.NET,LINQ To SQL e ADO.NET Entity Frameworkhttp://www.macoratti.nethttp://msdn.microsoft.com/pt-br/default.aspxhttp://www.linhadecodigo.com.brDesenvolvedor Cinco Estrelashttp://www.mslatam.com/brasil/dce/
  • 15.
    Dicas de EstudoMSDNExperiencehttp://msdn.microsoft.com/pt-br/dd366110.aspxMSDN Media Center (Vídeos e Webcasts sobre diversos assuntos)https://www.msdnbrasil.com.br/mediacenter/Default.aspx
  • 16.