C# - ADO .NET para Iniciantes - I (início do minicurso)


Este é um minicurso sobre ADO .NET para iniciantes usando a linguagem C#.

Acompanhe o curso no links a seguir:
 

C#-  ADO .NET para iniciantes - I

C#-  ADO .NET para iniciantes - II

C#-  ADO .NET para iniciantes - III

C#-  ADO .NET para iniciantes - IV

C#-  ADO .NET para iniciantes - V

C#-  ADO .NET para iniciantes - VI

C#-  ADO .NET para iniciantes - VII

C#-  ADO .NET para iniciantes - VIII

C# - ADO .NET para iniciantes - IX

Os requisitos mínimos para que você aproveite este minicurso é possuir um pouco de conhecimento sobre lógica de programação.

Se você não conhece a linguagem C# pode ler os seguintes artigos :

Se você já conhece VB .NET e esta querendo a aprender C# sugiro que você leia o meu artigo:

O material necessário para acompanhar o curso é: (Irei utilizar o Visual C# 2008 Express Edition mas os conceitos valem para qualquer versão do Visual Studio inclusive a 2013)

1- Visual C# 2008 Express Edition
2- SharpDevelop 2.2
3- SQL Server 2005 Express Edition

Todos esses programas são gratuitos e portanto você não vai gastar um centavo neste curso.

Durante o curso vamos desenvolver uma aplicação com acesso a dados usando C# de forma que você irá fazendo e aprendendo na prática os principais conceitos básicos envolvidos.

Mas chega de papo e vamos ao que interessa...

O que é  ADO .NET

ADO .NET é a nova tecnologia para acesso a dados da plataforma .NET estando integrada ao  .NET Framework e oferecendo diversas classes que permitem realizar praticamente todas as tarefas relacionadas com o acesso e manutenção de dados.

ADO .NET oferece suporte a uma variedade de opções para desenvolvimento de soluções com acesso a dados que permitem a comunicação com qualquer fonte de dados, desde os já conhecidos gerenciadores de banco de dados relacionais (SGBD) como : SQL Server, MySQL, FireBird, Oracle, Sybase, Access, XML, arquivos textos, etc.

Os componentes considerados os pilares da ADO.NET são  o DataSet e os provedores .NET que são um conjunto de componentes que incluem os objetos :

Através da  ADO.NET podemos acessar dados de três maneiras básicas: OLE DB , SQL e ODBC.

 

Os provedores de dados ADO .NET são livrarias de classes que permitem uma maneira comum de interagir com uma fonte específica de dados. Cada livraria possui um prefixo que indica qual provedor ela suporta. Veja abaixo os principais provedores:
 

Nome do Provedor

API prefixo

Descrição

ODBC Data Provider Odbc Fonte de dados com uma interface ODBC interface. Geralmente usada para banco de dados antigos;
OleDb Data Provider OleDb Fonte de dados que expõe uma interface OleDb interface, ou seja: Access ou Excel;
Oracle Data Provider Oracle Para banco de dados Oracle;
SQL Data Provider Sql Para interação com o Microsoft SQL Server;

 

Nota: Também existem provedores fornecidos por terceiros para MySQL, PostGreeSQL, FireBird, etc.
 

Cada objeto possui uma versão para cada uma das maneiras aqui mencionadas, assim temos os objetos :

Nota: Temos também os provedores fornecidos por terceiros como o .NET Connector para o MySQL.

 

 Abaixo uma figura ilustrando isto:

 

Existem duas maneiras básicas de você realizar a conexão com uma fonte de dados com ADO .NET:

1- ) Usando um DataSet

Este modo é conhecido como modo desconectado.

O objeto DataSet veio para substituir com vantagens o objeto recordset (ADO) e, guarda poucas similaridades com o objeto recordset. Enquanto o objeto recordset representa uma coleção de tabelas de dados O objeto DataSet representa uma cópia do banco de dados em memória.

 

A classe DataSet é membro do namespace System.Data e representa o primeiro dos dois maiores componentes da arquitetura ADO.NET  os outros membros seriam os provedores Data .NET. Podemos resumir os atributos do DataSet como segue:

O DataSet fornece as principais funcionalidades para criar aplicações para banco de dados desconectados , embora suporte também o modelo conectado através de leitores de dados (DataReader).

 

A classe DataSet é derivada da classe System.ComponentModel.MarshalByValueComponent da qual ela recebe a habilidade de ser serializada , incluída na caixa de ferramentas do VS.NET e visualmente desenhada em um descritor. Os principais métodos  da classe DataSet são :

 

Membro Descrição
Coleções
Relations Uma coleção de relações hospedadas em um objeto DataRelationCollection que liga tabelas através de chaves estrangeira
Tables Uma coleção de tabelas que armazena os dados atuais
Métodos
AcceptChanges Grava todas as alterações para o DataSet
Clear Remove todas as linhas de todas as tabelas
Clone Faz uma cópia da estrutura mas não os dados de um DataSet
Copy Faz uma cópia a estrutura e os dados de um DataSet
GetChanges Retorna uma cópia do DataSet com apenas as colunas alteradas ou aquelas que coincidem com o filtro definido em DataRowState
GetXml Retorna uma representação exm XML dos dados
GetXmlSchema Retorna uma representação XML da estrutura de um DataSet
HasChanges Retorna um valor indicando que existe mudanças pendentes
InferXmlSchema Infere a estrutura de um DataSet baseada em um arquivo ou fluxo
Merge Mescla o DataSet com o provedor
ReadXml Carrega um esquema XML e dados para um DataSet
ReadXmlSchema Carrega um esquema XML para um DataSet
Reset Reverte o DataSet ao seu estado original
WriteXML Escreve os dados e o esquema XML para um arquivo ou fluxo de dados
WriteXmlSchema Escreve o esquema XML para um arquivo ou fluxo

2- Usando um DataReader

Os objetos DataReader é uma das maneiras mais fáceis para ler os dados retornados pelos objetos Command . Eles permitem acessar e percorrer os registros no modo de somente leitura e somente para frente - forward-only .

 

O DataReader não oferece o acesso desconectado e não permite alterar ou atualizar a fonte de dados original sendo usado para obter rapidamente dados de apenas leitura. Apresenta poucos recursos mas seu desempenho é muito melhor do que o oferecido pelos DataSet.

 

As propriedades e métodos mais usadas dos objetos DataReader são :

  1. FieldCount - informa o número de colunas da linha de dados atual
  2. IsClosed - Indica se o objeto DataReader esta fechado.
  3. RecordsAffected - especifica o número de linhas alteradas , excluídas ou incluídas na execução de uma declaração SQL
  4. Item (n) - obtêm o valor da n-ésima coluna no seu formato nativo.
  5. Close - Método que fecha o objeto
  6. GetName - Método que retorna o nome da n-ésima coluna.
  7. Read - método que permite ao DataReader avançar para o próximo registro
  8. IsDbNull - método que informa se a n-ésima coluna possui um valor nulo.

Para criar um objeto DataReader usamos o método ExecuteReader de um objeto Command.


O objeto DataTable

 

Ao tratar com banco de dados não podemos deixar de pensar em tabelas e o objeto DataTable representa  uma ou mais tabelas de dados em memória. Os objetos DataTable estão contidos no objeto DataSet e/ou DataView. 


Abaixo temos uma relação das principais propriedades do objeto DataTable: 

O objeto DataView

O DataView tem a função de permitir a ligação dos dados de uma fonte de dados com a interface do usuário através do DataBinding . Através do DataView podemos filtrar, ordenar, pesquisar e navegar pelos dados oferecendo diversas visões de um mesmo conjunto de dados ao usuário.

 

Usamos o DataView para mostrar uma visão dos dados contidos em um DataTable , com isto você pode ter vários DataViews ligados a um mesmo DataTable , sendo que cada um exibe um visão diferente dos dados.

 

O objeto DataTable possui um DataView padrão que é acessado através da propriedade DefaultView.

 

As principais propriedades do objeto DataView são :

Creio que para um início já temos muita informação, na sequência irei mostrar como realizar uma conexão com um banco de dados usando ADO .NET com C#.

Eu sei é apenas C# mas eu gosto...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

 

             Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter
 

Referências:


José Carlos Macoratti