C#
- Convertendo DataSet e DataTable para ArrayList
Você já precisou converter um DataSet ou DataTable para um ArraList ?
Hoje eu mostro como fazer isso usando a linguagem C#.
No nosso exemplo o usuário poderá definir a string de conexão e a tabela que deseja acessar para converter.
Abra o Visual C# 2010 Express Edition e crie um novo projeto do tipo Windows Forms Application com o nome DataTableDataSet_ArrayList;
A seguir no formulário padrão form1.cs inclua os seguintes controles:
Conforme o leiaute da figura abaixo:
![]() |
O exemplo define a string de conexão com o banco de dados Northwind.mdf do SQL Server e a tabela Customers.
Os namespaces usados no projeto são:
using System;
using System.Collections;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;
Agora vamos definir o código das rotinas : ConverterDataTableParaArrayList() e ConverterDatasetParaArrayList() que convertem um DataTable e um DataSet para um ArrayList.
1 - ConverterDatasetParaArrayList()
public ArrayList ConverterDatasetParaArrayList() { DataSet ds = new DataSet(); ArrayList lista = new ArrayList(); string cmdSQL = "select TOP 10 CustomerID,ContactName,City from " + txtTabela.Text; using (SqlConnection con = new SqlConnection(txtStringConexao.Text)) { using (SqlCommand cmd = new SqlCommand(cmdSQL , con)) { con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); foreach (DataRow dtrow in ds.Tables[0].Rows) { lista.Add(dtrow); //exibe os registros no listbox lstDataSetArrayList.Items.Add(dtrow.ItemArray[0] + " # " + dtrow.ItemArray[1] + " # " + dtrow.ItemArray[2]); } } } return lista; } |
O código obtém apenas os 10 registros da tabela Customers e cria um dataset;
Em seguir percorremos a tabela do DataSet e obtemos um datarow que representa uma linha da tabela Customers;
O datarow é então incluindo no ArrayList;
Exibimos também no controle listbox os campos obtidos usando o método ItemArray().
2 - ConverterDataTableParaArrayList()
public ArrayList ConverterDataTableParaArrayList() { DataTable dt = new DataTable(); ArrayList lista = new ArrayList(); string cmdSQL = "select TOP 10 CustomerID,ContactName,City from " + txtTabela.Text; using (SqlConnection con = new SqlConnection(txtStringConexao.Text)) { using (SqlCommand cmd = new SqlCommand(cmdSQL, con)) { con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); foreach (DataRow dtrow in dt.Rows) { lista.Add(dtrow); //exibe os registros no listbox lstDataTableArrayList.Items.Add(dtrow.ItemArray[0] + " - " + dtrow.ItemArray[1] + " - " + dtrow.ItemArray[2]); } } } return lista; } |
O código obtém apenas os 10 registros da tabela Customers e cria um datatable;
Em seguir percorremos o DataTable de onde obtemos um datarow que representa uma linha da tabela Customers;
O datarow é então incluindo no ArrayList;
Exibimos também no controle listbox os campos obtidos usando o método ItemArray().
![]() |
Na figura acima vemos a exibição dos campos obtidos da tabela e usados na conversão do dataset e o datatable para um ArrayList.
Pegue o projeto completo aqui:
DataTableDataSet_ArrayList.zip
Veja os Destaques e
novidades do SUPER
CD VB 2012 (sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ? Veja mais sistemas completos para a plataforma .NET no Super CD .NET e no Super DVD .NET , confira... Quer aprender C# ?? Chegou o Super DVD C# 2012 com exclusivo material de suporte e vídeo aulas com curso básico sobre C#.
|
Rom 15:10
E outra vez diz: Alegrai-vos, gentios, juntamente com o povo.Referências: