Ajuda com DataTable
11/01/2012
0
Boa tarde!!
É o seguinte, tenho uma consulta SQL q coloquei em uma DataTable, e retorna apenas uma coluna com emails cadastrados.
O q eu preciso fazer é varrer as linhas, pegar o resultado dessa consulta e colocar em uma variável pra ser lido pelo MailMessage e enviar
tudo d uma vez. O problema é q em uma linha da consulta podem ter mais d um email, que eu separo por .Split(), só q assim,
o q era uma string vira duas, dando problema na hora de fazer o For. Logo eu tentei fazer uma List, só q dá todo tipo d erro.
O ideal era q eu fizesse um DataSet e o MailMessage já lesse tudo, separasse tudo, e só dxasse preu enviar.
Só q imaginar é fácil né ^^. Vou passar o primero rabisco q eu fiz.
Então se alguém puder me ajudar a organizar as idéias, salvaria minha vida ^^
Brigada!
É o seguinte, tenho uma consulta SQL q coloquei em uma DataTable, e retorna apenas uma coluna com emails cadastrados.
O q eu preciso fazer é varrer as linhas, pegar o resultado dessa consulta e colocar em uma variável pra ser lido pelo MailMessage e enviar
tudo d uma vez. O problema é q em uma linha da consulta podem ter mais d um email, que eu separo por .Split(), só q assim,
o q era uma string vira duas, dando problema na hora de fazer o For. Logo eu tentei fazer uma List, só q dá todo tipo d erro.
O ideal era q eu fizesse um DataSet e o MailMessage já lesse tudo, separasse tudo, e só dxasse preu enviar.
Só q imaginar é fácil né ^^. Vou passar o primero rabisco q eu fiz.
SqlDataAdapter daEnvio = new SqlDataAdapter(select distinct emails from CONFIGURACOES_PRONTUARIO_NETPORTO + where emails is not null + and emails <> , conn); DataTable dtEnvio = new DataTable(); daEnvio.Fill(dtEnvio); conn.Open(); int i = 0; for(i = 0; i <= dtEnvio.Rows.Count; i++) { string[] email = dtEnvio.Rows[i].ToString().Split(;); mailMsg.To.Add(new MailAddress(email[i])); }
Então se alguém puder me ajudar a organizar as idéias, salvaria minha vida ^^
Brigada!
Juliana Andrade
Curtir tópico
+ 0
Responder
Posts
11/01/2012
Joel Rodrigues
Como você pode ter mais de um email na mesma lina, você tem que percorrer também a linha e adicionar um destino para cada string proveniente do Split.
Teste o código abaixo (adaptando a sua necessidade):
Atenciosamente,
Teste o código abaixo (adaptando a sua necessidade):
foreach(DataRow r in dtEnvio.Rows) { foreach(string email in r[0].ToString().Split(;)) { mailMsg.To.Add(new MailAddress(email)); } }
Atenciosamente,
Responder
11/01/2012
Juliana Andrade
Como você pode ter mais de um email na mesma lina, você tem que percorrer também a linha e adicionar um destino para cada string proveniente do Split.
Teste o código abaixo (adaptando a sua necessidade):
Atenciosamente,
Teste o código abaixo (adaptando a sua necessidade):
foreach(DataRow r in dtEnvio.Rows) { foreach(string email in r[0].ToString().Split(;)) { mailMsg.To.Add(new MailAddress(email)); } }
Atenciosamente,
Joel Rodrigues
Noooooossaaaaaa, q simples mew ^^!
Funcionou direitinho!
Brigada meeeeesmo heim, d fato salvou minha vida!!! =D
Abração!
Responder
Clique aqui para fazer login e interagir na Comunidade :)