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: