Passar Resultado de uma consulta de uma Classe p/ o Form
Boa tarde galera,
estou fazendo uma aplicação que na qual preciso executar uma consulta a um banco de dados MySql e passar para uma ListView. de início fiz esse código que coloquei direto no formulário Form:
public void listaTarifas()
{
try
{
MySqlCommand executar = new MySqlCommand("Select * from MobileBus.Tarifa", banco.conexao);
MySqlDataReader lista;
//abre a conexão
banco.conexao.Open();
//executa consulta e armazena resultado
lista = executar.ExecuteReader();
//preenche as colunas da tabela
for (int i = 0; i < lista.FieldCount; i++)
List_Tarifas.Columns.Add(lista.GetName(i));
//preenche as linhas da tabela
while (lista.Read())
{
//cria item auxiliar
ListViewItem item = new ListViewItem();
item.Text = lista.GetValue(0).ToString();
for (int i = 1; i < lista.FieldCount; i++)
{
//cria subitens para o item
item.SubItems.Add(lista.GetValue(i).ToString());
}
//adiciona ao ListView
List_Tarifas.Items.Add(item);
}
}
catch (Exception e)
{
System.Windows.Forms.MessageBox.Show("Erro ao executar consulta de Tarifas:\r\n" + e.ToString() + ".");
}
finally
{
banco.conexao.Close();
}
}Acontece que quero separar a parte de Banco de dados da parte de Apresentação, ou seja, colocar as consultas em uma classe Banco.cs por exemplo e O Form ficar separado.
Acontece que a consulta retorna um MySqlDataReader e não consigo trafegar com esse objeto de uma classe para outra que dá exceção, além disso, já tentei Ienumerator, pra qual apanhei, ArrayList e até matriz mas não consigo passar esses dados corretamente, sempre dá exceção ou retorna nada.
Alguém pode me dizer com posso separar as partes de banco e apresentação e passar o resultado da consulta corretamente? Me ajudaria muito.
valeu Galera!!!!
Discussão (7)
Carregando comentários...