O DataSet é o objeto da plataforma .Net FrameWork para se trabalhar com dados “desconectados” da sua origem, ou seja, é possível fazer uma consulta em um banco de dados e carregá-lo em um DataSet.
A consulta efetuada através do DataSet fica armazenada na memória do “cliente”, possibilitando trabalhar com estes dados, inclusive atualizar o banco de dados mesmo após a conclusão deste trabalho. São armazenadas na memória os dados das tabelas e todas as informações do banco de origem como índices, relacionamentos entre outros.
Veja um exemplo de consulta de dados em um banco Microsoft SQL Server, demonstrando o resultado da consulta no navegador.
Arquivo: dataset.aspx(exemplo)
<%@ Page Language="c#" %> <!-- //Declara os tipos de namespaces a serem utilizados. --> <%@ import Namespace="System.Data"%> <!-- //O System.Data.SqlClient é o namespace utilizado para o uso de banco SQL Server 2000 --> <%@ import Namespace="System.Data.SqlClient" %> <html> <script runat="server"> protected void Page_Load(Object Sender, EventArgs ea) { //Cria a conexão com o banco de dados utilizando o método "Connection", definindo o endereço do banco, nome da base, usuário e senha. //Todo este comando tem que estar em única linha SqlConnection conexao = new SqlConnection("Data Source=ENDERECO_SQL_SERVER; DATABASE=BASE; UID=USUARIO;PWD=SENHA;"); //Cria uma string com o comando SQL a ser executado string strSQL = "Select FrmDescricao From Forum"; //Cria através do "DataAdapter" um objeto de ligação entre o resultado do comando SQL executado e o Dataset SqlDataAdapter adpForum = new SqlDataAdapter(strSQL,conexao); //Cria um objeto ds do tipo DataSet DataSet ds = new DataSet( ); //Preenche o DataSet com os dados do DataAdapter adpForum.Fill(ds,"Forum"); //Definimos com a tabela do DataSet que deverá aparecer no Grid do form dglista.DataSource= ds.Tables["Forum"].DefaultView; //carrega o Grid dglista.DataBind( ); } </script>
<head> <form runat="server"> <asp:DataGrid id="dglista" runat="server" HeaderStyle-BackColor="lightgray" Font-Size="8pt" Font-Name="Arial" CellSpacing="0" CellPading="3" showfooter="false" BorderColor="black" BackColor="yellow" with="400"></asp:DataGrid> </form> </head> </html>
Observações