Ir para o conteúdo do rodapé
Iron Academy Logo
Aplicação C#
Aplicação C#

Outras categorias

Armazenamento de Dados em C# WinForms — Entendendo o Fluxo de Dados em uma Formulário do Windows com Tim Corey (Lição 15)

Tim Corey
34m 39s

Armazenar e gerenciar dados em um aplicativo C# WinForms não é apenas sobre colocar controles em uma tela. Trata-se de como os dados se movem de um banco de dados ou arquivo, entram em modelos e são vinculados, exibidos e manipulados dentro de um Windows Form. Na Lição 15 do curso "C# Do Início ao Fim", Tim Corey guia os desenvolvedores através desse processo de forma muito prática construindo o Formulário Criar Torneio.

Neste artigo, examinamos mais detalhadamente os conceitos de armazenamento de dados em C# WinForms exatamente como Tim os explica em seu vídeo. Navegamos pelas etapas dele no Visual Studio, seguimos como ele recupera dados, os vincula a controles, depura problemas e verifica resultados.

Apresentando o Formulário Criar Torneio e Seu Papel

Às 0:00, Tim Corey apresenta a Lição 15 e explica que este Windows Form é um ponto de virada importante na aplicação. Ele observa que uma vez que este formulário esteja completo, o aplicativo estará principalmente funcional. Mesmo que este formulário pareça complexo, Tim tranquiliza os desenvolvedores de que o sistema já suporta a maioria dos recursos necessários.

Ele enfatiza que, nesse ponto, o trabalho anterior—modelos, conexões de dados, tabelas e padrões—já estabeleceu uma base sólida. O objetivo agora é conectar dados ao formulário e fazê-lo funcionar como um sistema, não como controles isolados.

Revisando o Formulário e Corrigindo Problemas Iniciais

Às 1:10, Tim explica que sempre que começa um Windows Form, primeiro revisa o que o formulário faz e o divide em partes lógicas. Ele imediatamente nota um pequeno problema no designer: duas caixas de lista têm o mesmo rótulo devido a um erro de cópia e colagem.

Tim corrige o texto do rótulo antes de seguir em frente, observando que pequenos problemas de UI devem ser resolvidos cedo. Este passo reforça que design limpo e clareza importam tanto quanto o código quando os dados estão sendo exibidos para um usuário.

Planejamento de Partes de Dados e Fluxo

Às 2:07, Tim descreve como ele normalmente abordaria este formulário se não estivesse gravando um vídeo. Ele explica que ele:

  • Populava o dropdown Selecionar Equipe

  • Populava a caixa de lista de equipes selecionadas

  • Conectava a ação Adicionar Equipe

  • Lidava com prêmios

  • Tratava de ações de criação e exclusão mais tarde

Porque esta é uma lição em vídeo, Tim agrupa vários pedaços juntos. Este passo de planejamento é crítico porque define como os dados fluirão entre coleções, controles e eventos dentro do aplicativo WinForms.

Criando uma Coleção para Armazenar Dados da Equipe

Às 3:45, Tim muda para a visualização de código usando F7, navegando pelo Solution Explorer até o arquivo de código por trás do formulário. Ele explica que o dropdown Selecionar Equipe precisa de uma coleção de objetos TeamModel.

Ele cria uma Lista chamada availableTeams. Esta lista atua como armazenamento em memória para dados recuperados da fonte de dados. Tim observa que por enquanto ela é inicializada como uma nova lista, mas mais tarde será preenchida a partir de um banco de dados ou de um arquivo de texto, dependendo da configuração.

Este é um momento chave onde Tim mostra que o WinForms armazena dados em coleções, não diretamente em controles.

Definindo o Contrato de Recuperação de Dados

Às 5:01, Tim cria um método chamado GetTeamAll. Ele explica que este método segue padrões usados anteriormente no projeto, como GetPersonAll. Ele o adiciona à interface IDataConnection, chamando-o de contrato que define como os dados são recuperados.

Ele então implementa este método tanto nos conectores SQL quanto de texto. Tim enfatiza a consistência aqui, explicando que seguir padrões estabelecidos torna o sistema mais fácil de manter e entender.

Trabalhando com Procedimentos Armazenados e Tabelas

Às 6:32, Tim navega até o SQL Server e discute os procedimentos armazenados. Ele revisa procedimentos existentes e explica por que eles não são adequados para este caso. Como o torneio ainda não existe, ele cria um novo procedimento armazenado chamado spTeam_GetAll.

Este procedimento:

  • Não leva parâmetros

  • Executa uma declaração select simples

  • Recupera todos os registros de equipe da tabela Teams

Tim executa o procedimento e verifica os dados retornados. Este passo garante que a fonte de dados está funcionando antes de vinculá-la ao formulário.

Preenchendo Dados Relacionados Usando Loops

Às 8:45, Tim explica que recuperar apenas as equipes não é suficiente. Cada equipe também contém uma lista de membros, que estão armazenados em uma tabela separada. Ele mostra como o TeamModel inclui uma coleção de TeamMembers que deve ser preenchida manualmente.

Para fazer isso, Tim percorre cada equipe usando um loop foreach. Para cada instância de equipe, ele chama outro procedimento armazenado que recupera pessoas por ID de equipe. Este processo constrói um modelo totalmente populado com dados relacionados.

Tim aponta que este passo garante que o aplicativo tenha objetos de dados completos, não registros parciais.

Conectando Dados Armazenados ao Windows Form

Às 12:25, Tim volta ao Formulário Criar Torneio e substitui a lista temporária por uma chamada de dados real usando:

GlobalConfig.Connection.GetTeamAll()

Esta linha recupera dados usando a string de conexão configurada e os armazena em memória.

Ele então cria um método InitializeLists, que vincula dados aos controles de UI definindo:

  • DataSource

  • DisplayMember

Tim cuidadosamente seleciona TeamName como a propriedade de exibição, garantindo que texto significativo seja mostrado ao usuário em vez de referências a objetos.

Depurando Erros e Verificando Dados

Às 15:17, Tim executa o aplicativo e encontra um erro relacionado a um parâmetro ausente. Ele lê calmamente a mensagem, explicando que a depuração é uma parte normal do desenvolvimento.

Ele corrige a questão passando o parâmetro necessário e definindo o tipo de comando para procedimento armazenado. Quando o dropdown ainda aparece vazio, Tim investiga mais.

Às 22:35, ele percebe que o método InitializeLists nunca foi chamado. Uma vez adicionado ao construtor, os dados são exibidos corretamente. Tim usa este momento para enfatizar a importância de revisar como as peças se encaixam no sistema.

Gerenciando Equipes Selecionadas em Memória

Às 23:54, Tim cria outra lista chamada selectedTeams. Esta coleção armazena as equipes escolhidas para o torneio. Ele explica que esse padrão é idêntico a formas anteriores no projeto, reforçando a reutilização e consistência.

Ele vincula esta lista a outra caixa de lista usando o mesmo membro de exibição, tornando fácil mostrar itens selecionados.

Conectando Eventos de Botão e Movendo Dados

Às 28:07, Tim clica duas vezes no botão Adicionar Equipe no designer, gerando o evento de clique. Ele recupera o item selecionado do dropdown, lança-o de volta para um TeamModel e verifica se não é nulo.

Em seguida, ele remove a equipe de availableTeams, adiciona-a a selectedTeams e reconecta ambas as listas. Tim explica que redefinir a fonte de dados garante que a IU reflita as mudanças imediatamente.

Encerrando o Armazenamento de Dados para Esta Lição

Às 32:13, Tim resume o que foi realizado:

  • Dados recuperados do banco de dados

  • Armazenado em coleções

  • Vinculado a controles WinForms

  • Movido entre listas

  • Depurado e verificado

Ele observa que o trabalho restante se baseará nesta fundação.

Considerações Finais de Tim Corey

Tim encerra o vídeo incentivando os desenvolvedores a continuar praticando. Ele lembra aos espectadores que entender como os dados são armazenados, recuperados e exibidos em uma aplicação C# WinForms é essencial para construir sistemas confiáveis.

Esta lição mostra como os desenvolvedores lidam com dados reais, erros reais e fluxos de trabalho reais — passo a passo, exatamente como Tim Corey demonstra.

Hero Worlddot related to Armazenamento de Dados em C# WinForms — Entendendo o Fluxo de Dados em uma Formulário do Win...
Hero Affiliate related to Armazenamento de Dados em C# WinForms — Entendendo o Fluxo de Dados em uma Formulário do Wi...

Ganhe mais compartilhando o que você ama.

Você cria conteúdo para desenvolvedores que trabalham com .NET, C#, Java, Python ou Node.js? Transforme sua expertise em renda extra!

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim