DUOMENŲ BAZĖS
Iki šiol nekalbėjome apie informacijos saugojimą išorinėje atmintyje.VB turi specialų duomenų valdymo reguliatorių, kuris leidžia lengvaisusirišti su duomenų bazėmis: Access, dBASE, FoxPro, Paradox. Paprasčiausiatai atlikti Windows duomenų bazei Access.
Paprasčiausių duomenų bazių struktūra
VB reguliatoriai gali susirišti su duomenų bazėmis, saugančiomisduomenis lentelėse (tables), kurios susideda iš laukų (fields) ir įrašų(records). Lentelė – tai duomenų grupė, kurią galime įsivaizduoti, kaip lentelępopieriuje, susidedančią iš stulpelių (laukų) ir eilučių (įrašų).Pavyzdžiui, bazėje apie knygas gali būti lentelės: autoriai, leidyklos,knygos ir pan. Autorių lentelės įrašuose – žinios apie autorių,suskirstytos į laukus (vardas, pavardė, adresas ir pan.). Pavyzdys. Lentelės vardas: “AUTORIAI” ; laukų vardai: VARDAS,PAVARDĖ, ADRESAS
|Jonas |Grafomanas |Varpo 2, Balbieriškis, ||Petras |Plunksnėnas |Klausučių km., Kėdainių || | |r. |
Duomenų tvarkytojas
VB savo sudėtyje turi instrumentą bazėms kurti, duomenims redaguoti.Tai duomenų tvarkytojas (Data Manager). Į jį patenkame meniu komanda AddIns/ Visual Data Manager. Naudosimės jau sukurtomis duomenų bazėmis, pavyzdžiui,\DEVSTUDIO\VB\BIBLIO.MDB. Access bazė sukuriama atskiroje vienoje byloje(bylos plėtinys .MDB).
Duomenų reguliatorius
Duomenų reguliatorius (data control), turintis piktogramą [pic] ,įgalina naudotis sukurta duomenų baze, peržiūrėti ir redaguoti įrašųturinį. Tam pasitelkiami mums jau žinomi reguliatoriai (pavyzdžiui, tekstolaukai arba etiketės). Tokiu atveju jie vadinami surištaisiaisreguliatoriais, nes duomenų reguliatorius juos suriša su duomenų bazėmis. Duomenų reguliatorius vienu metu gali būti surištas tiktai su vienu –taip vadinamu dabartiniu (current) įrašu. Ryšių schema, esant dviems surištiems reguliatoriams, parodyta 10.5pav.
[pic]
10.5 pav. Ryšių schema surištiems reguliatoriams.
Norint panaudoti duomenų reguliatorių, reikia atlikti tokius veiksmus. 1) Sukurti formoje duomenų reguliatorių, sakykim vardu Data1, kuriovaizdas – 10.6 pav.
[pic]
10.6 pav. Duomenų reguliatorius.
2) Duomenų reguliatoriaus savybei DatabaseName (duomenų bazės vardas)priskirti duomenų bazės bylos vardą su plėtiniu .MDB (jei duomenų bazė jausukurta). 3) Savybėje RecordSource (įrašo šaltinis) nurodyti lentelę, su kuriadirbsite (pavyzdžiui, AUTORIAI); bazės lentelių vardai būna matomi šiossavybės įvedimo lauke. 4) Formoje sukurti teksto lauką (pavyzdžiui, vardu Text1) duomenųbazės informacijai išvesti bei redaguoti. Vietoje teksto lauko galimanaudoti jungiklį, paveikslą, piktogramą bei etiketę. 5) Teksto lauko Text1 savybėje DataSource (duomenų šaltinis) nurodytiduomenų reguliatoriaus, su kuriuo ji surišama, vardą (Data1). Taip Text1tampa surištu reguliatoriumi. 6) Teksto lauko Text1 savybėje DataField (duomenų laukas) nurodytilauko, su kuriuo dirbsite, vardą. 7) Greta surišto teksto lauko paprastai kuriama etiketė,paaiškinanti, kas teksto dėžėje rodoma (pavyzdžiui, VARDAS). 8) Kiekvienam toliau kuriamam surištam reguliatoriui, pavyzdžiui,PAVARDĖ, teks kartoti 4 – 7 etapus. Rezultatas programą vykdant – 10.7 pav.
[pic]
10.7 pav. Surištų reguliatorių ir duomenų reguliatoriaus vaizdas.
Duomenų reguliatorius turi keturis mygtukus keisti įrašams. Mygtukųfunkcijos parodytos 10.8 pav.
[pic]
10.8 pav. Duomenų reguliatoriaus vaizdas ir mygtukai.
Surištuose reguliatoriuose, šiuo atveju – teksto laukuose, galitekeisti įrašų turinį. Kai tik pereisite prie kito įrašo, pakeitimaiankstesniame įraše bus išsaugoti duomenų bazėje.
Naujų įrašų pridėjimas
Iki šiol mokėjome pridėti naują įrašą tik projektuojant, naudojantduomenų tvarkytoją. Tačiau ir programą vykdant tenka papildyti bazesnaujais įrašais. Pavyzdžiui, atsiranda naujas sistemos vartotojas, klientasir pan. Tenka panaudoti metodą, vykdomą, pavyzdžiui, paspaudus mygtuką“Pridėti” (10.9 pav.).
[pic] 9.9 pav. Naujų įrašų pridėjimas, šalinimas ir išsaugojimas.
Bazės įrašų objektas yra Recordset (įrašų aibė), o jo metodas,pridedantis naują įrašą – AddNew (pridėti naują). Todėl mygtuko “Pridėti”įvykio procedūroje reiktų atlikti:
Data1.Recordset.AddNew
Tai pridėtų naują įrašą į įrašų aibės galą, visi surišti
reguliatoriai išsivalytų ir būtų galima juos užpildyti nauja informacija.Tačiau mūsų įrašas dar neišsaugotas duomenų bazėje. Išsaugojimasautomatiškai įvyksta perėjus prie kito įrašo arba panaudojus metodą Update(atnaujinti). Todėl mygtuko “Išsaugoti” įvykio procedūroje būtų metodas:Data1.Recordset.Update
Įrašų šalinimas.
Įrašas, kuris šiuo metu matomas, dabartinis įrašas, šalinamas metoduDelete. Pašalinus nereikia naudoti Update metodo, tačiau dabartinispašalintas įrašas tampa neteisingu (invalid). Bandymas redaguoti tokį jaupanaikintą įrašą sukeltų sisteminę klaidą. Todėl pašalinus reikia pereitiprie naujo įrašo, mygtuko “Pašalinti” įvykio procedūroje įrašant:
Data1.Recordset.DeleteData1.Recordset.MoveNext
Metodo MoveNext veikimas atitinka rodyklės “Pereiti į sekantį įrašą”paspaudimą duomenų reguliatoriuje. Programiškam įrašų keitimui yra ir kiti metodai, atitinkantysrodykles duomenų bazių reguliatoriuje: MovePrevious (pereiti į prieš buvusįįrašą), MoveFirst (pereiti į pirmą įrašą), MoveLast (pereiti į paskutinįįrašą).
40 Užduotis
VB duomenų bazei, esančiai \DEVSTUDIO\VB\BIBLIO.MDB, paruoštiprograminę sąsają.Formoje: • autorių vardų ir pavardžių • knygųperžiūros galimybės.