Már tanultad, hogyan kell ListBox-ot feltölteni egy SQLite adatbázisból származó adatokkal. Ezen a leckén bővítjük tudásunkat azzal, hogy egy TextBox-ot összekapcsolunk ezzel a ListBox-szal. Ez a kapcsolat lehetővé teszi számodra, hogy információkat módosíts, törölj, vagy új értékeket adj hozzá. Ezen kívül bemutatjuk, hogyan lehet nyomon követni a kiválasztást a ListBox-ban, és ennek értékét megjeleníteni a TextBox-ban. Így interaktívabbá és felhasználóbarátabbá teheted az alkalmazásodat.
Legfontosabb megállapítások
- Összekapcsolsz egy TextBox-ot egy ListBox-cal, hogy dinamikusan mutasd a kiválasztást.
- SQLite adatbázis használatával tartósan tárolhatod és lekérheted az adataidat.
- Intézkedéseket alkalmazunk a hibák megelőzésére, hogy elkerüljük a nem kívánt kivételeket.
Lépésről lépésre útmutató
Először nézzük meg, hogyan tudjuk létrehozni a kapcsolatot a TextBox és a ListBox között:
1. Kiválasztás lekérdezése a ListBox-ból
A kiválasztás nyomon követéséhez a ListBox-ban kódot kell hozzáadnunk a megfelelő eseményekhez. Először is tudnunk kell, melyik elem van jelenleg kiválasztva a ListBox-ban.

Ehhez lemásoljuk az SQLiteCommand-ot a módszerről, amellyel a ListBox-ot feltöltöttük. Ezt a kódot a megfelelő helyre illesztjük be, és kiegészítjük egy SQL utasítással, amely lekéri a kiválasztást az adatbázisból. Az SQL utasítás így nézhet ki: SELECT ID, Automárka FROM Automárkák WHERE ID = @ID, ahol @ID a paraméterünk helyettesítője.
2. Paraméter hozzáadása az SQL lekérdezéshez
A következő lépés a paraméter beállítása az SQL lekérdezéshez. Itt elsődleges kulcsot (Primary Key) használunk a megfelelő automárka kiválasztására.
A parancsot ezután úgy optimalizáljuk, hogy a ListBox-ból kiemeljük a kiválasztott automárka ID-ját. Ez a listBox.SelectedValue hívásával történik. Most hozzáadjuk ezt a paramétert a lekérdezéshez.

3. DataTable létrehozása és feltöltése
Most, hogy megvan az SQL utasítás, létre kell hoznunk egy DataTable-t, hogy feldolgozhassuk a lekérdezéseket. Ezt a DataTable-t myDataTable-nak nevezzük, majd hozzáadjuk az SQLiteDataAdapter-t, hogy inicializáljuk az SQL lekérdezés eredményeit.

Miután a DataTable feltöltődött, a TextBox-ot a kiválasztott automárka értékével tudjuk kitölteni.

4. Kiválasztott automárka megjelenítése a TextBox-ban
Az érték DataTable-ból történő átviteléhez a TextBox-ba lekérjük a DataTable első bejegyzését. Használjuk a myDataTable.Rows[0]["Automárka"].ToString() kódot, és az eredményt beállítjuk a TextBox-ba.
5. Hibakezelés implementálása
Annak érdekében, hogy a program futtatása során ne lépjenek fel hibák, hibakezelést kell bevezetnünk. Ezt azzal érjük el, hogy a lekérdezés végrehajtása előtt ellenőrizzük, hogy van-e kiválasztott elem a ListBox-ban.
Itt egy egyszerű feltételt használunk: Ha a myListBox.SelectedValue == null, akkor abbahagyjuk a módszer végrehajtását. Ez az intézkedés biztosítja, hogy ne kapjunk null- vagy hibareferenciákat, és az alkalmazás stabil marad.

6. Funkciók tesztelése
A fent említett lépések implementálása után fontos tesztelni az alkalmazást. Indítsd el a programot, és ellenőrizd, hogy a kezdéskor az első bejegyzés automatikusan megjelenik-e a ListBox-ban a TextBox-ban.

Ha most váltogatsz a különböző automárkák között, látnod kell, hogy a TextBox dinamikusan frissül, hogy a megfelelő értéket mutassa be.

Most, hogy érted az alapokat és a kódot a TextBox és a ListBox összekapcsolásához, tovább optimalizálhatod az alkalmazásodat. A következő lépésben megtanuljuk, hogyan tudsz új automárkákat egy gomb segítségével hozzáadni az adatbázishoz.
Összefoglalás – ListBox és TextBox a C#: adatok dinamikus összekapcsolása
Ebben az útmutatóban megtanultad, hogyan kell összekapcsolni egy TextBox-ot egy ListBox-cal és megvalósítani annak dynamikus interaktivitását. Ez a koncepció új utakat nyit meg számodra, hogy információban gazdag és felhasználóbarát alkalmazásokat tervezhess.
Gyakran ismételt kérdések
Mit tegyek, ha a TextBox nem frissül?Ellenőrizd, hogy a ListBox a megfelelő értéket adja-e vissza és hogy a DataAdapter megfelelően van-e konfigurálva.
Hogyan adok hozzá új automárkát?Ezt a következő videóban fogjuk tárgyalni, ahol beszúrunk egy gombot, amely lehetővé teszi automárkák hozzárendelését az adatbázishoz.
Miért konvertáljuk a DataTable kimeneteit String-gé?Annak érdekében, hogy az érték a TextBox-ban helyesen szövegként jelenjen meg, át kell alakítanunk egy String-ét.