Tenho duas tabelas TABELA(area_avaliacao) com os campos id_area_avaliacao, nm_area_avaliacao, id_questionario e TABELA(questionario) com os campos id_questionario, nm_questionario.

Como faço para mostrar id_area_avaliacao, nm_area_avaliacao, nm_questionario no gridview. Estou usando uma camada DAL.

Como fazer um select de multiplas tabelas dentro da camada DAL, depois quero mostrar na tela dentro de gridview em uma só tabela.

public List<AreaAvaliacaoDTO> ListarAreas()
{
SqlConnection con = null;
try
{
con = new Utilitario.FabricaDeConexao().AbrirConexao(ConfigurationManager.ConnectionStrings["MeuBD"].ConnectionString);
string strSQL = "SELECT A.ID_AREA_AVALIACAO, A.NM_AREA_AVALIACAO, Q.NM_QUESTIONARIO FROM AREA_AVALIACAO" + 
"FROM AREA_AVALIACAO A, QUESTIONARIO Q";
SqlCommand cmd = new SqlCommand(strSQL, con);

List<AreaAvaliacaoDTO> listArea = new List<AreaAvaliacaoDTO>();

using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
AreaAvaliacaoDTO area = new AreaAvaliacaoDTO();
QuestionarioDTO questionario = new QuestionarioDTO();
area.ID_AREA_AVALIACAO = Convert.ToInt32(dr["ID_AREA_AVALIACAO"]);
area.NM_AREA_AVALIACAO = dr["NM_AREA_AVALIACAO"].ToString();
questionario.NM_QUESTIONARIO = dr["NM_QUESTIONARIO"].ToString();
//area.ID_QUESTIONARIO = Convert.ToInt32(dr["ID_QUESTIONARIO"]);
listArea.Add(area);
}
}
return listArea;
}
catch (Exception)
{
throw;
}
finally
{
if (con != null)
{
new Utilitario.FabricaDeConexao().FecharConexao(con);
}
}
}

Exibições: 100

Respostas a este tópico

Denilson, eu faço da seguinte forma:

AreaAvaliacaoDTO area = new AreaAvaliacaoDTO();
area.ID_AREA_AVALIACAO = Convert.ToInt32(dr["ID_AREA_AVALIACAO"]);
area.NM_AREA_AVALIACAO = dr["NM_AREA_AVALIACAO"].ToString();

area.questionario = new QuestionarioDTO().GetById(dr["NM_QUESTIONARIO"].ToString());
listArea.Add(area);

Com isso eu tenho a minha DAL questionário o método GetById(int paramId) que me retorna o objeto  questionário populado.

Qualquer duvida postar ai.

 

area.questionario

questionario veio de onde?

Eu faço desta forma.

crio um objeto, coloco os dados retornados do banco nele e jogo o objeto no dataGridView 

List<Reserva> lista = ReservasViewModelo.getReservas();
var listaNovoTipo = (from item in lista
select new
{

NumeroReserva = item.getIdAluno(),
Nome = item.getNomeAluno(),
Serie = item.getDescricaoSerie(),
Turno = item.getDescricaoTurno(),
Rua = item.getLogradouro(),
Bairro = item.getNomeBairro(),
DataReserva = item.getDataReserva(),
Status = item.getStatusReserva()

}).OrderBy(x => x.Nome).ToList();


reservaView.dataGridView1.DataSource = listaNovoTipo;
reservaView.dataGridView1.SelectedCells.ToString();

RSS

© 2017   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço