Usuário com melhor resposta
Dúvidas sobre como carregar dados diretamente em numericUpDown e textBox

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;
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
- 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
-
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
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
- 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
-
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).
-
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
-
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!!
-
-
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
-