none
Dúvidas sobre como carregar dados diretamente em numericUpDown e textBox RRS feed

  • Pergunta

  • Olá,

    Estou desenvolvendo um sistema para controle de movimento de gado.

    Para tanto, cada "movimento (Quantidade de entradas, saidas, nascimentos, abates etc)", devem ser carregadas diretamente em numeriUpDowns ao ativar o produtor e o periodo de apuração. Como posso fazer?

    Estou utilizando o Acces 2007 p/ o BD, es estou trabalhando em uma aplicação em tres camadas (Camada de acesso a dados DAL, regrade negocios BLL, e  DMG é a camada do usuário).

    OBS: estou procurando não integrar o banco de dados diretamente no projeto (razão de utilizar tres camadas).

    Grato pela ajuda.

    Exemplo de movimento de Bois Gordos:

    o "BoiGordo", possui uma tabela de saldos (SaldosBoisGordos) de quantidade de cabeças com os seguintes campos:

    Codigo; 

    QtdeAnterior;

    Data;

    Entradas;

    Nascimentos;

    MudancasIdade1;

    Saidas;

    Abates;

    MudancasIdade2;

    Perdas;

    Periodo;

    CodProdutor;


    quarta-feira, 21 de novembro de 2012 13:45

Respostas

  • Você já tem algo pronto dessa aplicação?

    Porque parece simples: você possui uma classe de modelo. A sua dal busca o dado, popula uma classe de modelo e devolve. A tela pega o dado e mostra. 

    Ou seu problema é como fazer a camada de Dal?

    Para usar como access você vai precisar usar o Ado.Net com OleDb conector e classes de OleDb


    Twitter: @MayogaX
    Blog: Dev Blog

    • Marcado como Resposta Junior_Brito quarta-feira, 21 de novembro de 2012 16:30
    • Não Marcado como Resposta Junior_Brito quarta-feira, 21 de novembro de 2012 17:01
    • Marcado como Resposta Junior_Brito quarta-feira, 21 de novembro de 2012 17:17
    quarta-feira, 21 de novembro de 2012 15:48
  • Cara,

    Se ainda estiver com sua ideia de retorno com um DataTable, é bem simples.

    txtTexto.Text = dtRetorno.Rows[0]["NomeOuIndeceColuna].ToString();


    Se precisar pegar mais de uma linha com varias colunas, faça um loop.

    //Linhas
    for(i=0;i<dtRetorno.Rows.Count;i++)
    {
        txtTexto.Text = dtRetorno[i]["NomeOuIndeceColuna"].ToString();
    } 

    Atenciosamente,

    Samuel dos Anjos


    Atenciosamente, Samuel dos Anjos

    • Marcado como Resposta Junior_Brito quinta-feira, 22 de novembro de 2012 16:19
    quarta-feira, 21 de novembro de 2012 22:14

Todas as Respostas

  • Você já tem algo pronto dessa aplicação?

    Porque parece simples: você possui uma classe de modelo. A sua dal busca o dado, popula uma classe de modelo e devolve. A tela pega o dado e mostra. 

    Ou seu problema é como fazer a camada de Dal?

    Para usar como access você vai precisar usar o Ado.Net com OleDb conector e classes de OleDb


    Twitter: @MayogaX
    Blog: Dev Blog

    • Marcado como Resposta Junior_Brito quarta-feira, 21 de novembro de 2012 16:30
    • Não Marcado como Resposta Junior_Brito quarta-feira, 21 de novembro de 2012 17:01
    • Marcado como Resposta Junior_Brito quarta-feira, 21 de novembro de 2012 17:17
    quarta-feira, 21 de novembro de 2012 15:48
  • Baca a idéia, já havia pensando nisso. Só instanciar um objeto específico para a busca, até porque facilitaria a geração de relatórios.

    Contudo, o meu método de busca da classe DAL retorna um DataTable . O que seria mais prudente nesse caso? deveria fazer um método que retorna dados da Classe Modelo?

    O que quero é fazer com que os campos carreguem os dados do BD, caso estes existam para um determinado período.

    Se eles existirem, então serão carregados e se forem alterados, a alteração no banco de dados se dará por meio de um button (Gravar/Alterar).

    quarta-feira, 21 de novembro de 2012 17:01
  • No caso que você apresentou não faz sentido ter um datatable. Motivos:

    1- Você não vai estar usando suas classes de modelo

    2- Do jeito que você está apresentando sua camada de visualização/cliente tem uma tarefa a mais que não é necessidade dela, persistir dados.

    Eu mesmebraria o dataTable em classes de modelo. Mas mesmo que você não faça isso o evento de alterar no banco de dados nada tem a ver com esse primeiro DataTable, pois a camada de cliente vai passar os dados de volta a negocio, que fará algo se necessário, e a dal é que vai persistir 


    Twitter: @MayogaX
    Blog: Dev Blog

    quarta-feira, 21 de novembro de 2012 17:27
  • Vai dar trabalho, já que são 49 campos, mas não tem problema.

    Ótima visão, vou fazer uma busca  para cada campos individualmente, desmembrando assim em modelos para a busca.

    É praticamente um busca individual para cada numericUpDown, mas vai dar certo. Basta acrescentar um campo para auxiliar na busca do periodo.

    Muito Obrigado!!

    quarta-feira, 21 de novembro de 2012 18:15
  • Que tal usar um ORM? Tipo Entity Framework ou NHibernate? Vai te ajudar pacas na camada DAL

    Twitter: @MayogaX
    Blog: Dev Blog

    quarta-feira, 21 de novembro de 2012 18:28
  • Estou tentado a utilizar o NHiberhate..

    ao que me recomendaram,  a abrangência em banco de dados é maior

    quarta-feira, 21 de novembro de 2012 20:47
  • Cara,

    Se ainda estiver com sua ideia de retorno com um DataTable, é bem simples.

    txtTexto.Text = dtRetorno.Rows[0]["NomeOuIndeceColuna].ToString();


    Se precisar pegar mais de uma linha com varias colunas, faça um loop.

    //Linhas
    for(i=0;i<dtRetorno.Rows.Count;i++)
    {
        txtTexto.Text = dtRetorno[i]["NomeOuIndeceColuna"].ToString();
    } 

    Atenciosamente,

    Samuel dos Anjos


    Atenciosamente, Samuel dos Anjos

    • Marcado como Resposta Junior_Brito quinta-feira, 22 de novembro de 2012 16:19
    quarta-feira, 21 de novembro de 2012 22:14
  • Gostei, estava tentando fazer algo do tipo, mas acabei por carregar primeiro uma datagrid e depois converter os dados para os numeric e textBox.

    Até entao, não conseguia fazer diretamente. Valeu pela dica.

    Muito Obrigado

    att.

    quinta-feira, 22 de novembro de 2012 16:18