C#
- ADO
.NET para Iniciantes - I
Este é um mini-curso sobre ADO .NET para iniciantes usando a linguagem C#.
Os requisitos mínimos para que você aproveite este mini-curso é 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)
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 :
Connection - responsável por efetuar a conexão com o banco de dados
Command - responsável por executar comandos contra o banco de dados;
DataAdapter - é utilizado para preecher o objeto DataSet;
O ADO.NET pode acessar dados de três maneiras básicas: OLE DB , SQL e ODBC.
Cada objeto possui uma versão para cada uma das maneiras aqui mencionadas, assim temos os objetos :
OleDbConnection, OleDbCommand, OleDbDataReader, OleDataAdapter;
SqlConnection, SqlCommand, SqlDataReader, SqlDataAdapter;
OdbcConnection, OdbcCommand,etc.
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 esquem 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 :
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...
![]()
referências:
José Carlos Macoratti