Pesquisar dados na tabela de um banco e retornar resultado para um label ou liberação de botão, com Linq - C sharp
26/06/2013
0
sou iniciante e preciso, a titulo de aprendizado, pesquisar(sem ter a chave primaria) se existe a informação em uma tabela do banco.
A ação consiste em verificar se o formulario já foi lançado no sistema e se não foi, liberar um botão para fazer o lançamento.
O lançamento do formulario é diario, então na tabela existem varios lançamentos do mesmo codigo(formulario) porem com datas diferentes, entao buscando o codigo e a data, ao encontrar, o botao permanece bloqueado e o grid com os dados do formulario é carregado, não encontrando o botão é liberado para o lançamento do formulario.
A aplicação é em 3 camadas - Apresentacao, Negocios e Dados
Eu consigo apenas trazer os dados para um grid, porem nao consigo utilizar a checagem para liberar o botão.
desde já agradeço,
Otalicio Junior/
Posts
26/06/2013
Joel Rodrigues
Se for uma lista, é só verificar o count. Se for um DataReader, é só verificar se tem linhas no resultado.
26/06/2013
Otalicio Junior/
Na camada de apresentação
protected void btnListar_Click1(object sender, EventArgs e) { string plano = txtPlano.Text; string data = txtData.Text; this.RGridPessoal.DataSource = Negocios.GrPessoalNeg.SearchPlano(plano, data); this.RGridPessoal.DataBind(); }
Na camada de negócios
public static IEnumerable SearchPlano(string plano, string data) { return Dados.GrPessoalDad.SearchPlano(plano,data); }
Na camada de dados
public static IEnumerable SearchPlano(string plano, string data) { WebDataDataContext dataClass = new WebDataDataContext(); var dia = data; var pess = from v in dataClass.PESSOALs join m in dataClass.CARGOs on v.Codcargo equals m.Cargo1 join an in dataClass.SITIOs on v.Codlocal equals an.Codlocal join p in dataClass.PRODUCAOs on v.Chapa equals p.Chapa where v.Codsubord == plano && Convert.ToDateTime(dia) == Convert.ToDateTime(p.Data) select new { v.Chapa, v.Nome, m.Desccargo, an.Desclocal, p.Data, p.Situacao, p.Turno, p.ID }; IEnumerable pessoal = pess.AsEnumerable(); return pessoal; }
26/06/2013
Joel Rodrigues
26/06/2013
Otalicio Junior/
26/06/2013
Joel Rodrigues
Negocios.GrPessoalNeg.SearchPlano(plano, data).ToList().Count
27/06/2013
Otalicio Junior/
Muito Obrigado pela dica,consegui o que pretendia, ficou assim:
Camada de dados
public static List<LANCADA> Pesqlan(string subdata) { WebDataDataContext dataClass = new WebDataDataContext(); var lanc = from c in dataClass.LANCADAs where c.SuborDta == subdata select c; List<LANCADA> lancadas = lanc.ToList(); return lancadas; }
Camada de Negócios
public static List<LANCADA> PesqLan(string subdata) { return Dados.GrPessoalDad.Pesqlan(subdata); }
Camada de Apresentação
protected void Button1_Click(object sender, EventArgs e) { string subdata = txtPlano.Text + txtData.Text; this.txtTeste.Text = Convert.ToString((Negocios.GrPessoalNeg.PesqLan(subdata)).Count); }
27/06/2013
Joel Rodrigues
Então vou marcar o tópico como Concluído.
Abraço.
Clique aqui para fazer login e interagir na Comunidade :)