Envie de Email para todos do Banco de Dados pelo Entity
Ola pessoal, gostaria de uma ajuda, estou tentando enviar email para um pessoal do banco de dados, que tem email cadastrado, pelo ADO.Net consigo, porem eswtou passando para Entity, meu botão esta assim
MilitaresSP db = new MilitaresSP();
int wGrupo = Convert.ToInt16(dpGrupos.SelectedValue);
var pesquisa = from m in db.MEMBRO
where (m.EMAIL != ) &&
(m.IDGRUPO == wGrupo)
orderby m.NOME
select new
{
m.NOME,
m.EMAIL
};
//Preciso substituir essa parte de baixo, tentei com forech mas não consegui
using (MySqlDataReader rdr = pesquisa)
{
while (rdr.Read())
{
mailMsg.From = mailAddress;
mailMsg.To.Clear();
mailMsg.To.Add(rdr[Email].ToString());
smtp.Send(mailMsg);
}
}
Agradeço qualquer ajuda.
MilitaresSP db = new MilitaresSP();
int wGrupo = Convert.ToInt16(dpGrupos.SelectedValue);
var pesquisa = from m in db.MEMBRO
where (m.EMAIL != ) &&
(m.IDGRUPO == wGrupo)
orderby m.NOME
select new
{
m.NOME,
m.EMAIL
};
//Preciso substituir essa parte de baixo, tentei com forech mas não consegui
using (MySqlDataReader rdr = pesquisa)
{
while (rdr.Read())
{
mailMsg.From = mailAddress;
mailMsg.To.Clear();
mailMsg.To.Add(rdr[Email].ToString());
smtp.Send(mailMsg);
}
}
Agradeço qualquer ajuda.
Paulo Freire
Curtidas 0
Respostas
Joel Rodrigues
22/03/2012
Rapaz, a ideia é que seja assim
foreach(objeto o in colecao)
{
//faça alguma coisa
}
No seu caso, deve ser algo semelhante a
foreach(Membro m in pesquisa)
{
//faça algo, por exemplo
//string teste = m.Propriedade_1
}
Teste aí.
foreach(objeto o in colecao)
{
//faça alguma coisa
}
No seu caso, deve ser algo semelhante a
foreach(Membro m in pesquisa)
{
//faça algo, por exemplo
//string teste = m.Propriedade_1
}
Teste aí.
GOSTEI 0
Paulo Freire
22/03/2012
Não consegui Joel, não reconhece o foreach,
MilitaresSP db = new MilitaresSP();
int wGrupo = Convert.ToInt16(dpGrupos.SelectedValue);
var pesquisa = from m in db.MEMBRO
where (m.EMAIL != ) && (m.IDGRUPO == wGrupo)
orderby m.NOME
select new
{
m.NOME,
m.EMAIL
};
foreach(Membro m in pesquisa) <--- erro aqui
{
//faça algo, por exemplo
//string teste = m.Propriedade_1
}
MilitaresSP db = new MilitaresSP();
int wGrupo = Convert.ToInt16(dpGrupos.SelectedValue);
var pesquisa = from m in db.MEMBRO
where (m.EMAIL != ) && (m.IDGRUPO == wGrupo)
orderby m.NOME
select new
{
m.NOME,
m.EMAIL
};
foreach(Membro m in pesquisa) <--- erro aqui
{
//faça algo, por exemplo
//string teste = m.Propriedade_1
}
GOSTEI 0
Erackson Brito
22/03/2012
Troque Membro por MilitaresSP
GOSTEI 0
Joel Rodrigues
22/03/2012
Falha minha, o foreach que postei funcionaria se trouxesse objetos Membro no seu select. No caso, você seleciona objetos que contém apenas duas propriedades.
Então, altere o foreach para:
foreach(var m in pesquisa)
{
//faça alguma coisa
MessageBox.Show(m.NOME);
MessageBox.Show(m.CODIGO);
}
Então, altere o foreach para:
foreach(var m in pesquisa)
{
//faça alguma coisa
MessageBox.Show(m.NOME);
MessageBox.Show(m.CODIGO);
}
GOSTEI 0
Marcio Silveira
22/03/2012
Você pode usar uma expressão lambda.
pesquisa.Foreach(m=> EnviarEmail(m.NOME, n.EMAIL));
pesquisa.Foreach(m=> EnviarEmail(m.NOME, n.EMAIL));
GOSTEI 0
Paulo Freire
22/03/2012
Obrigado Joel, deu certinho, obrigado também ao Marcio e ao Erackson.
GOSTEI 0