Že si se naučil, kako napolniti ListBox s podatki iz SQLite baze podatkov. V tej lekciji bomo razširili naše znanje s povezovanjem TextBox z этим ListBoxom. Ta povezava ti omogoča, da spreminjaš, brišeš ali dodajaš nove vrednosti. Poleg tega bomo pokazali, kako spremljati izbiro v ListBoxu in prikazati njeno vrednost v TextBoxu. S tem lahko svojo aplikacijo narediš bolj interaktivno in prijazno do uporabnika.
Najpomembnejši vpogledi
- Povežeš TextBox z ListBoxom, da dinamično prikažeš izbiro.
- Z uporabo SQLite baze podatkov lahko trajno shraniš in pridobiš svoje podatke.
- Implementiramo ukrepe za preprečevanje napak, da se izognemo neželenim izjavam.
Navodila po korakih
Najprej si bomo pogledali, kako lahko vzpostavimo povezavo med našim TextBoxom in ListBoxom:
1. Preverjanje izbire v ListBoxu
Da bi spremljali izbiro v ListBoxu, moramo dodati kodo za ustrezne dogodke. Najprej moramo vedeti, kateri element je trenutno izbran v ListBoxu.

Za to kopiramo SQLiteCommand iz metode, s katero smo napolnili ListBox. Dodamo to kodo na ustrezen kraj in jo dopolnimo z SQL ukazom, ki pridobi izbiro iz naše baze podatkov. SQL ukaz bi lahko izgledal tako: SELECT ID, Automarke FROM Automarken WHERE ID = @ID, kjer je @ID placeholder za naš parameter.
2. Dodajanje parametra za SQL poizvedbo
Naslednji korak je nastavitev parametra za SQL poizvedbo. Tukaj uporabimo primarni ključ (Primary Key), da izberemo pravo avtomobilsko znamko.
Ukaz se nato optimizira, tako da pridobimo ID izbrane avtomobilske znamke iz ListBoxa. To naredimo z klicem listBox.SelectedValue. Sedaj dodamo ta parameter k poizvedbi.

3. Ustvarjanje in polnjenje DataTable
Zdaj, ko imamo SQL ukaz, moramo ustvariti DataTable, da obdelamo poizvedbe. To DataTable poimenujemo myDataTable in nato dodamo SQLiteDataAdapter, da inicializiramo rezultate naše SQL poizvedbe.

Takoj, ko je DataTable napolnjen, lahko TextBox napolnimo z vrednostjo izbrane avtomobilske znamke.

4. Prikaz izbrane avtomobilske znamke v TextBoxu
Da bi nastavili vrednost iz DataTable v TextBox, pridobimo prvo vnos v DataTable. Uporabimo myDataTable.Rows[0]["Automarka"].ToString() in nastavimo rezultat v TextBox.
5. Implementacija obravnave napak
Da zagotovimo, da ob izvajanju aplikacije ne pride do napak, moramo uvesti obravnavo napak. To storimo tako, da pred izvajanjem poizvedbe preverimo, ali je v ListBoxu izbran element.
Tu uporabimo preprosto stanje: Če je myListBox.SelectedValue == null, prekinemo metodo. Ta ukrep zagotavlja, da ne dobimo referenc na nič in da aplikacija ostane stabilna.

6. Izvedba funkcionalnih testov
Po implementaciji zgoraj omenjenih korakov je pomembno, da aplikacijo preizkusimo. Zaženi program in preveri, ali se ob zagonu prvi vnos v ListBoxu samodejno prikaže v TextBoxu.

Ko zdaj preklapljaš med različnimi avtomobilskimi znamkami, bi moral videti, da se TextBox dinamično osvežuje, da prikaže ustrezno vrednost.

Zdaj, ko razumeš osnove in kodo za povezavo TextBox in ListBox, lahko svojo aplikacijo še dodatno optimiziraš. V naslednjem koraku se bomo naučili, kako lahko v podatkovno bazo dodamo nove avtomobilske znamke preko gumba.
Povzetek – Povezovanje ListBox in TextBox v C#: Dinamično povezovanje podatkov
V tem priročniku si se naučil, kako povezati TextBox z ListBoxom in uresničiti njihovo dynamiko interaktivnost. Ta koncept ti odpira nove možnosti za oblikovanje uporabniških aplikacij, ki so informativne in prijazne do uporabnika.
Pogosta vprašanja
Kaj naj naredim, če se TextBox ne posodobi?Preveri, ali ListBox vrača pravilno vrednost in ali je DataAdapter pravilno konfiguriran.
Kako dodam novo avtomobilsko znamko?To bomo obravnavali v naslednjem videu, kjer bomo dodali gumb, ki ti omogoča, da avto znamke dodajaš v bazo podatkov.
Zakaj izhod DataTable pretvarjamo v niz?Da zagotovimo, da se vrednost v TextBoxu pravilno prikaže kot besedilo, jo moramo pretvoriti v niz.