Tu jau esi mācījies, kā piepildīt ListBox ar datiem no SQLite datu bāzes. Šajā nodarbībā paplašināsim savu zināšanu loku, sasaistot TextBox ar šo ListBox. Šī sasaistes iespēja ļauj tev mainīt, dzēst vai pievienot jaunas vērtības. Turklāt mēs parādīsim, kā uzraudzīt izvēli ListBox un rādīt tās vērtību TextBox. Tādējādi tu vari padarīt savu lietotni interaktīvāku un lietotājam draudzīgāku.
Galvenās atziņas
- Tu sasaisti TextBox ar ListBox, lai dinamiskā veidā rādītu izvēli.
- Izmantojot SQLite datu bāzi, tu vari saglabāt un iegūt savus datus ilgstoši.
- Mēs ieviešam pasākumus, lai izvairītos no kļūdām, lai nepieļautu nevēlamas izņēmums.
Solim pa solim instruktāža
Vispirms apskatīsim, kā mēs varam izveidot sasaisti starp mūsu TextBox un ListBox:
1. Izvēles pieprasīšana ListBox
Lai uzraudzītu izvēli ListBox, mums jāpapildina kods attiecīgajiem notikumiem. Pirmkārt, mums jādara zināms, kurš elements ListBox šobrīd ir izvēlēts.

Šim nolūkam mēs kopējam SQLiteCommand no metodes, ar kuras palīdzību mēs piepildījām ListBox. Mēs pievienojam šo kodu piemērotā vietā un papildinām to ar SQL komandu, kas iegūst izvēli no mūsu datu bāzes. SQL komanda var izskatīties šādi: SELECT ID, Automarke FROM Automarken WHERE ID = @ID, kur @ID ir vietturis mūsu parametram.
2. Parametra pievienošana SQL pieprasījumam
Nākamais solis ir iestatīt parametru SQL pieprasījumam. Šeit mēs izmantojam primāro atslēgu (Primary Key), lai izvēlētos pareizo automašīnu.
Pēc tam komanda tiek optimizēta, iegūstot izvēlētās automašīnas ID no ListBox. To veicam, izmantojot listBox.SelectedValue. Tagad pievienojam šo parametru pieprasījumam.

3. Datu tabulas izveide un piepildīšana
Tagad, kad mums ir SQL komanda, mums jāizveido datu tabula, lai apstrādātu pieprasījumus. Mēs nosauksim šo datu tabulu par myDataTable un pēc tam pievienosim SQLiteDataAdapter, lai inicializētu mūsu SQL pieprasījuma rezultātus.

Pēc tam, kad datu tabula ir piepildīta, mēs varam ielādēt TextBox ar izvēlētās automašīnas vērtību.

4. Izvēlētās automašīnas rādīšana TextBox
Lai iestatītu vērtību no datu tabulas TextBox, mēs iegūstam pirmo ierakstu no datu tabulas. Mēs izmantojam myDataTable.Rows[0]["Automarke"].ToString() un iestatām rezultātu uz TextBox.
5. Kļūdu apstrāde
Lai nodrošinātu, ka lietojumprogrammas izpildes laikā nenotiek kļūdas, mums jāievieš kļūdu apstrāde. To darām, pārbaudot, vai ListBox ir izvēlēts kāds elements pirms pieprasījuma veikšanas.
Šeit mēs izmantojam vienkāršu nosacījumu: ja myListBox.SelectedValue == null, mēs pārtraucam metodi. Šis pasākums nodrošina, ka mēs nesaskaramies ar nulles atsaucēm un ka lietojumprogramma paliek stabila.

6. Funkcionalitātes testi
Pēc iepriekš minēto soļu īstenošanas ir svarīgi testēt lietojumprogrammu. Sāc programmu un pārbaudi, vai piekļuves sākumā pirmais ieraksts ListBox automātiski tiek parādīts TextBox.

Ja tu tagad pārvietojies starp dažādām automašīnām, tev vajadzētu redzēt, ka TextBox dinamiskā veidā tiek atjaunināts, lai attēlotu attiecīgo vērtību.

Tagad, kad tu saproti pamatus un kodu TextBox un ListBox sasaistīšanai, tu vari turpināt optimizēt savu lietotni. Nākamajā solī mēs iemācīsimies, kā pievienot jaunas automašīnas datu bāzei, izmantojot pogu.
Kopsavilkums – ListBox un TextBox C#: dati dinamiskā veidā sasaistīti
Šajā rokasgrāmatā tu esi iemācījies, kā sasaistīt TextBox ar ListBox un realizēt tā dinamisko interaktivitāti. Šī koncepcija atver tev jaunus veidus, kā izveidot lietotāju lietojumprogrammas, kas ir gan informatīvas, gan lietotājam draudzīgas.
Bieži uzdotie jautājumi
Ko man darīt, ja TextBox netiek atjaunināts?Pārbaudi, vai ListBox atgriež pareizo vērtību un vai DataAdapter ir pareizi konfigurēts.
Kā pievienot jaunu automašīnu?To mēs apskatīsim nākamajā videoklipā, ievietojot pogu, kas ļaus tev pievienot automašīnas datu bāzei.
Kāpēc mēs pārvēršam DataTable iznākumus par String?Lai nodrošinātu, ka vērtība TextBox tiek pareizi attēlota kā teksts, mums jāveic tās konvertēšana uz String.