Fórum Adicionar dados a uma consulta e gravar em outra tabela #446118
20/06/2013
0
A consulta busca no banco o registro da pessoa e adiciona o dia e a situação.
Consegui fazer a consulta e adicionar os dados que preciso, porem existe uma forma de inserir esta informação no banco os dados?
a tabela tem 4 colunas:
ID(int): chave primaria - incremento 1
CHAPA(int)
DATA(date)
SITUAÇÃO(VARCHAR)
public static IEnumerable SalvaPlano(string plano, string data)
{
WebDataDataContext dataClass = new WebDataDataContext();
var dia = data;
var situacao = "PRESENTE";
var pess = from v in dataClass.PESSOALs
where v.CODSUBORD == plano
select new
{
v.CHAPA,
dia,
situacao,
};
IEnumerable pessoal = pess.AsEnumerable();
return pessoal;
}
Otalicio Junior/
Curtir tópico
+ 0Posts
20/06/2013
Pjava
minhaEntities me = new minhaEntities(); ==> Aponta para outro banco
minhaTabela tbl = new minhaTabela();
tbl.campo1 = pess.campo1;
tbl.campo2 = pess.campo2;
me.minhaTabela.AddObject(tbl);
me.SaveChanges();
Acho que isso funciona, testa aí. Você pode ter mais de uma edmx no seu projeto, cada um apontando para um BD distinto.
Gostei + 0
20/06/2013
Pjava
Gostei + 0
20/06/2013
Otalicio Junior/
Gostei + 0
20/06/2013
Pjava
foreach(var p in pess)
{
tbl.campo1 = p.campo1;
........
}
Dessa forma funciona
Gostei + 0
21/06/2013
Otalicio Junior/
public static IEnumerable SalvaPlano(string plano, string data)
{
WebDataDataContext dataClass = new WebDataDataContext();
PRODUCAO tbl = new PRODUCAO();
var dia = data;
var situacao = "PRESENTE";
var pess = from v in dataClass.PESSOALs
where v.CODSUBORD == plano
select new
{
v.CHAPA,
dia,
situacao,
};
foreach (var p in pess)
{
tbl.CHAPA = p.CHAPA;
tbl.DATA = Convert.ToDateTime(p.dia);
tbl.SITUACAO = p.situacao;
}
dataClass.PRODUCAOs.InsertOnSubmit(tbl);
dataClass.SubmitChanges();
IEnumerable pessoal = pess.AsEnumerable();
return pessoal;
}
tentei com o submit dentro do foreach, ele gravou apenas um registro e causou uma exception"{"Não é possível adicionar uma entidade que já existe."
foreach (var p in pess)
{
tbl.CHAPA = p.CHAPA;
tbl.DATA = Convert.ToDateTime(p.dia);
tbl.SITUACAO = p.situacao;
dataClass.PRODUCAOs.InsertOnSubmit(tbl);
dataClass.SubmitChanges();
}
Gostei + 0
21/06/2013
Pjava
dataclass.minhaTabela.AddObject(tbl);
dataclass.SaveChanges();
Gostei + 0
21/06/2013
Pjava
Gostei + 0
21/06/2013
Otalicio Junior/
Gostei + 0
21/06/2013
Otalicio Junior/
o que falta era colocar o instanciamento da tabela PRODUCAO dentro do laço. A instancia da tabela precisava ser iniciada a cada insert.
Obrigado pela ajuda.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)