Você já aprendeu como preencher uma ListBox com dados de um banco de dados SQLite. Nesta lição, ampliaremos nosso conhecimento vinculando uma TextBox a essa ListBox. Essa vinculação permite que você altere, exclua ou adicione novos valores. Além disso, mostramos como monitorar a seleção na ListBox e exibir seu valor na TextBox. Com isso, você pode tornar seu aplicativo mais interativo e amigável ao usuário.

Principais descobertas

  • Você vincula uma TextBox a uma ListBox para exibir a seleção de forma dinâmica.
  • Usando um banco de dados SQLite, você pode armazenar e recuperar seus dados de forma persistente.
  • Implementamos medidas para evitar erros, a fim de evitar exceções indesejadas.

Guia passo a passo

Primeiro, vamos dar uma olhada em como estabelecer a vinculação entre nossa TextBox e a ListBox:

1. Consultar seleção na ListBox

Para monitorar a seleção na ListBox, precisamos adicionar código para os eventos correspondentes. Primeiro, precisamos saber qual item está atualmente selecionado na ListBox.

Vinculação dinâmica de ListBox e TextBox em C#

Para isso, copiamos o SQLiteCommand do método que usamos para preencher a ListBox. Adicionamos esse código ao local adequado e o complementamos com um comando SQL que recupera a seleção do nosso banco de dados. O comando SQL poderia ser assim: SELECT ID, MarcaDoCarro FROM MarcasDeCarro WHERE ID = @ID, onde @ID é um espaço reservado para nosso parâmetro.

2. Adicionar parâmetro à consulta SQL

O próximo passo é definir o parâmetro para a consulta SQL. Aqui, usamos a chave primária (Primary Key) para selecionar a marca de carro correta.

O comando é então otimizado ao recuperarmos o ID da marca de carro selecionada da ListBox. Isso é feito chamando listBox.SelectedValue. Agora, adicionamos esse parâmetro à consulta.

Vinculação dinâmica entre ListBox e TextBox em C#

3. Criação e preenchimento de uma DataTable

Agora, com o comando SQL, precisamos criar uma DataTable para processar as consultas. Nomeamos essa DataTable de myDataTable e, em seguida, adicionamos o SQLiteDataAdapter para inicializar os resultados da nossa consulta SQL.

Vinculação dinâmica de ListBox e TextBox em C#

Assim que a DataTable estiver preenchida, podemos preencher a TextBox com o valor da marca de carro selecionada.

Vinculação dinâmica de ListBox e TextBox em C#

4. Exibir a marca de carro selecionada na TextBox

Para definir o valor da DataTable na TextBox, buscamos a primeira entrada da DataTable. Usamos myDataTable.Rows[0]["MarcaDoCarro"].ToString() e definimos o resultado na TextBox.

5. Implementar tratamento de erros

Para garantir que não ocorram erros durante a execução do aplicativo, precisamos implementar um tratamento de erros. Isso é feito verificando se um item foi selecionado na ListBox antes de executar a consulta.

Aqui, usamos uma condição simples: se myListBox.SelectedValue == null, interrompemos o método. Essa medida garante que não recebamos referências nulas e que o aplicativo permaneça estável.

Vinculação dinâmica de ListBox e TextBox em C#

6. Realizar testes de funcionalidade

Após a implementação dos passos mencionados, é importante testar o aplicativo. Inicie o programa e verifique se, ao iniciar, a primeira entrada na ListBox é exibida automaticamente na TextBox.

Vinculação dinâmica de ListBox e TextBox em C#

Se agora você alternar entre as diferentes marcas de carro, deverá ver que a TextBox é atualizada dinamicamente para representar o valor correspondente.

Vinculação dinâmica de ListBox e TextBox em C#

Agora que você entende os fundamentos e o código para vincular TextBox e ListBox, pode continuar otimizando seu aplicativo. No próximo passo, aprenderemos como adicionar novas marcas de carro ao banco de dados através de um botão.

Resumo – ListBox e TextBox em C#: vinculação dinâmica de dados

Neste guia, você aprendeu como vincular uma TextBox a uma ListBox e realizar sua dynamica interatividade. Este conceito abre novas possibilidades para criar aplicativos de usuário que são informativos e amigáveis.

Perguntas frequentes

O que devo fazer se a TextBox não for atualizada?Verifique se a ListBox está retornando o valor correto e se o DataAdapter está configurado corretamente.

Como adiciono uma nova marca de carro?Vamos abordar isso no próximo vídeo, inserindo um botão que permitirá adicionar marcas de carro ao banco de dados.

Por que fazemos o cast das saídas da DataTable como String?Para garantir que o valor na TextBox seja exibido corretamente como texto, precisamos convertê-lo em uma String.