Już nauczyłeś się, jak wypełnić ListBox danymi z bazy danych SQLite. W tej lekcji poszerzamy naszą wiedzę, łącząc TextBox z tym ListBoxem. To powiązanie pozwala na edytowanie, usuwanie lub dodawanie nowych wartości. Ponadto pokażemy, jak monitorować wybór w ListBoxie i wyświetlać jego wartość w TextBoxie. Dzięki temu możesz uczynić swoją aplikację bardziej interaktywną i przyjazną dla użytkownika.

Najważniejsze spostrzeżenia

  • Łączysz TextBox z ListBoxem, aby dynamicznie wyświetlać wybór.
  • Dzięki użyciu bazy danych SQLite możesz trwale przechowywać i pobierać swoje dane.
  • Wdrażamy środki zapobiegawcze, aby unikać niepożądanych wyjątków.

Instrukcja krok po kroku

Najpierw przyjrzymy się, jak możemy nawiązać połączenie między naszym TextBoxem a ListBoxem:

1. Sprawdzenie wyboru w ListBoxie

Aby monitorować wybór w ListBoxie, musimy dodać kod dla odpowiednich zdarzeń. Najpierw musimy wiedzieć, który element ListBoxa jest obecnie wybrany.

Dynamiczne powiązanie ListBox z TextBox w C#

W tym celu kopiujemy SQLiteCommand z metody, za pomocą której wypełniliśmy ListBox. Wstawiamy ten kod w odpowiednie miejsce i uzupełniamy go o polecenie SQL, które pobiera wybór z naszej bazy danych. Polecenie SQL może wyglądać tak: SELECT ID, MarkaSamochodu FROM MarkiSamochodowe WHERE ID = @ID, gdzie @ID jest miejscem dla naszego parametru.

2. Dodanie parametru do zapytania SQL

Kolejnym krokiem jest ustawienie parametru dla zapytania SQL. Tutaj używamy klucza głównego (Primary Key), aby wybrać odpowiednią markę samochodu.

Polecenie jest następnie optymalizowane, gdy wydobywamy ID wybranej marki samochodu z ListBoxa. Dzieje się to poprzez wywołanie listBox.SelectedValue. Teraz dodajemy ten parametr do zapytania.

Dynamiczne powiązanie ListBox i TextBox w C#

3. Utworzenie i wypełnienie DataTable

Teraz, gdy mamy polecenie SQL, musimy stworzyć DataTable, aby przetworzyć zapytania. Nazywamy tę DataTable myDataTable i następnie dodajemy SQLiteDataAdapter, aby zainicjować wyniki naszego zapytania SQL.

Dynamiczne powiązanie ListBox i TextBox w C#

Gdy DataTable jest wypełniona, możemy wypełnić TextBox wartością wybranej marki samochodu.

Dynamiczne powiązanie ListBox i TextBox w C#

4. Wyświetlanie wybranej marki samochodu w TextBoxie

Aby ustawić wartość z DataTable w TextBoxie, pobieramy pierwszy wpis z DataTable. Używamy myDataTable.Rows[0]["MarkaSamochodu"].ToString() i ustawiamy wynik w TextBoxie.

5. Implementacja obsługi błędów

Aby upewnić się, że podczas uruchamiania aplikacji nie wystąpią błędy, musimy wprowadzić obsługę błędów. Dzieje się to przez sprawdzenie, czy element w ListBoxie został wybrany przed wykonaniem zapytania.

Tutaj używamy prostej zasady: jeśli myListBox.SelectedValue == null, przerywamy metodę. To działanie zapewnia, że nie otrzymujemy referencji null i aplikacja pozostaje stabilna.

Dynamiczne powiązanie ListBox i TextBox w C#

6. Przeprowadzanie testów funkcjonalnych

Po wdrożeniu powyższych kroków ważne jest, aby przetestować aplikację. Uruchom program i sprawdź, czy przy starcie pierwszy wpis w ListBoxie jest automatycznie wyświetlany w TextBoxie.

Dynamiczne powiązanie ListBox i TextBox w C#

Gdy teraz przełączasz się między różnymi markami samochodów, powinieneś zauważyć, że TextBox jest dynamicznie aktualizowany, aby reprezentować odpowiednią wartość.

Dynamiczne powiązanie ListBox i TextBox w C#

Teraz, gdy rozumiesz podstawy i kod powiązania TextBoxu z ListBoxem, możesz dalej optymalizować swoją aplikację. W kolejnym kroku nauczysz się, jak możesz dodać nowe marki samochodów do bazy danych za pomocą przycisku.

Podsumowanie – Połączenie ListBoxu i TextBoxu w C#: Dynamiczne powiązanie danych

W tym przewodniku nauczyłeś się, jak połączyć TextBox z ListBoxem i zrealizować jego dynamikę interakcji. To pojęcie otwiera przed Tobą nowe możliwości projektowania aplikacji użytkowych, które są zarówno informacyjne, jak i przyjazne dla użytkownika.

Najczęściej zadawane pytania

Co zrobić, gdy TextBox się nie aktualizuje?Sprawdź, czy ListBox zwraca prawidłową wartość i czy DataAdapter jest poprawnie skonfigurowany.

Jak dodać nową markę samochodu?To omówimy w kolejnym filmie, wklejając przycisk, który umożliwi dodanie marek samochodów do bazy danych.

Dlaczego przekształcamy wyniki DataTable na String?Aby upewnić się, że wartość w TextBoxie jest poprawnie wyświetlana jako tekst, musimy ją przekształcić w String.