Jūs jau išmokote, kaip užpildyti ListBox duomenimis iš SQLite duomenų bazės. Šioje pamokoje išplėsime savo žinias, susiedami TextBox su šiuo ListBox. Šis ryšys leidžia jums keisti, pašalinti informaciją arba pridėti naujas vertes. Be to, mes parodysime, kaip stebėti pasirinkimą ListBox ir rodyti jo vertę TextBox. Tai leis jums padaryti savo programą interaktyvesnę ir patogesnę naudoti.
Pagrindiniai įžvalgos
- Jūs susiejate TextBox su ListBox, kad dinamiškai rodytumėte pasirinkimą.
- Naudodami SQLite duomenų bazę galite saugoti ir gauti savo duomenis nuosekliai.
- Mes įgyvendiname priemones klaidų išvengimui, kad išvengtume nepageidaujamų išimčių.
Žingsnis po žingsnio vadovas
Visų pirma, pažvelkime, kaip galime sukurti ryšį tarp mūsų TextBox ir ListBox:
1. Pasirinkimo klausimas ListBox'e
Norint stebėti pasirinkimą ListBox'e, turime pridėti kodą atitinkamiems įvykiams. Pirmiausia turime žinoti, kuris elementas šiuo metu yra pasirinktas ListBox'e.

Norėdami tai padaryti, nukopijuojame SQLiteCommand iš metodo, kuriuo užpildėme ListBox. Šį kodą įterpiame tinkamoje vietoje ir papildome jį SQL komanda, kuri atsiima pasirinkimą iš mūsų duomenų bazės. SQL komanda galėtų atrodyti taip: SELECT ID, Automarke FROM Automarken WHERE ID = @ID, kur @ID yra mūsų parametro užpildymo vieta.
2. Parametro pridėjimas prie SQL užklausos
Kitame žingsnyje turime nustatyti parametrą SQL užklausai. Čia naudojame pirminį raktą (Primary Key), kad pasirinktume teisingą automobilių markę.
Komanda yra optimizuojama, ištraukdami pasirinktos automobilių markės ID iš ListBox. Tai darome kviesdami listBox.SelectedValue. Dabar pridedame šį parametrą prie užklausos.

3. DataTable sukūrimas ir užpildymas
Dabar, kai turime SQL komandą, turime sukurti DataTable, kad apdorotume užklausas. Mes pavadiname šią DataTable myDataTable ir tada pridėsime SQLiteDataAdapter, kad inicializuotume mūsų SQL užklausos rezultatus.

Kai DataTable bus užpildyta, galime užpildyti TextBox su pasirinktos automobilių markės verte.

4. Pasirinktos automobilių markės rodymas TextBox'e
Norint nustatyti DataTable vertę į TextBox, iškviečiame pirmąjį DataTable įrašą. Mes naudojame myDataTable.Rows[0]["Automarke"].ToString() ir nustatome rezultatą TextBox'e.
5. Klaidos valdymo įgyvendinimas
Norint užtikrinti, kad vykdant programą neatsirastų klaidų, turime įdiegti klaidų valdymą. Tai darome prieš atliekant užklausą, patikrindami, ar ListBox'e yra pasirinktas elementas.
Čia naudojame paprastą sąlygą: jei myListBox.SelectedValue == null, nutraukiame metodą. Ši priemonė užtikrina, kad negausime null nuorodų ir programa išliktų stabili.

6. Funkcijų testavimas
Po minėtų žingsnių įgyvendinimo svarbu išbandyti programą. Paleiskite programą ir patikrinkite, ar paleidimo metu pirmasis įrašas ListBox automatiškai rodomas TextBox'e.

Jei dabar pereisite tarp skirtingų automobilių markių, turėtumėte matyti, kad TextBox dinamiškai atnaujinamas, kad atspindėtų atitinkamą vertę.

Dabar, kai suprantate ryšio tarp TextBox ir ListBox pagrindus ir kodą, galite toliau optimizuoti savo programą. Kitame žingsnyje išmoksime, kaip pridėti naujas automobilių markes į duomenų bazę naudojant mygtuką.
Apibendrinimas – ListBox ir TextBox C#: duomenų dinamiškas ryšys
Šiame vadove išmokote, kaip susieti TextBox su ListBox ir realizuoti jų dinamišką interaktyvumą. Šis konceptas atveria naujus kelius kurti vartotojų programas, kurios yra tiek informatyvios, tiek patogios naudoti.
Dažnai užduodami klausimai
Kaip elgtis, jei TextBox neatsinaujina?Patikrinkite, ar ListBox grąžina teisingą vertę ir ar DataAdapter tinkamai sukonfigūruotas.
Kaip pridėti naują automobilių markę?Tai aptarsime kitame vaizdo įraše, pridėdami mygtuką, kuris leis jums pridėti automobilių markes į duomenų bazę.
Kodėl mes paverčiame DataTable išėjimus į String?Norėdami užtikrinti, kad vertė TextBox'e būtų teisingai rodoma kaip tekstas, turime ją paversti į String.