MBga ulanish. Ixtiyoriy muhitda MBa murojaat ulanishdan boshlanadi. Bizning ob`ektga yo`naltirilgan biblioteka yaratish Connection ob`ektini yaratishdan boshlanadi. Ob`ekt Connection server bilan bog`lanishni o`rnatish, zarur MBni tanlash, so`rovlarni uzatish va natija olishni bilishi kerak. Connection sinfi usullari hamma MBBT uchun bir xildir. Lekin sinf ichida, kompilyatsiya qilinayotgan biblioteka uchun xos bo`lgan yopiq qismlar yashiringandir. Bog`lanishni o`rnatishda ma`lumotlar bilan bog`lanishni ta`minlaydigan sinf qismlari farqli bo`lib qoladi.
MB bilan ulanishni o`rnatish. Bu API yordamida yaratiladigan hamma amaliy dasturlarga MBga ulanish uchun Connection sinfi nusxasini uning konstruktorlaridan biri yordamida yaratish kerak bo`ladi. U kabi uzilish uchun Amaliy dastur Connection nusxasini o`chirishi kerak. U to`g`ridan to`g`ri Close() va Sonnect() usullariga murojaat qilib Connection nusxasini qaytadan ishlatishi mumkin.
MBdan uzilish. Connection yana bir mantiqiy funksiyasi MB bilan aloqani uzish va dasturdan berkitilgan resurslarni ozod qilishdir. Bu funksiyani Close() usuli amalga oshiradi.
MBga murojaatlarni bajarish. Bog`lanishni ochish va yopish odatda MBga komandalar yuboriladi. Connection sinfi argument sifatida SQL komanda oluvchi Query() usuli yordamida bajaradi. Agar komanda so`rov bo`lsa 2-5.rasmda ko`rsatilgan ob`ekt modelidan Result sinfi nusxasini qaytaradi. Agar komanda ma`lumotlarni yangilayotgan bo`lsa, usul NULL qaytaradi va affected_rows qiymatini o`zgartirilgan satrlar soniga teng qiladi.
Natijaviy to`plamlar. Result sinfi natijaviy to`plam ma`lumotlariga hamda shu natijaviy to`plam bilan bog`liq metama`lumotlarga murojaatni ta`minlashi kerak. 2-5 rasmda ko`rsatilgan ob`ektli modelga asosan bizning Result sinfimiz natijaviy to`plam satrlarini tsikl bo`yicha o`qish va undagi satrlar sonini aniqlashni ta`minlaydi.
Natijalar bo`yicha ko`chish. Result sinfi natijaviy to`plam bilan qatorma qator ishlaydi. Result sinfi nusxasini Query() usuli yordamida olgandan so`ng amaliy dastur to navbatdagi Next() usuli 0 qaytarmaguncha, ketma ket Next() va GetCurrentRow() usullarini chaqirishi lozim.
Satrlar. Natijaviy to`plamning aloxida satri ob`ektli modelda Row sinfi bilan tasvirlanadi. Ma`lumotlarga murojaat massiv indeksi bo`yicha so`rov tomonidan berilgan tartibda amalga oshiriladi. Masalan, SELECT user_id, password FROM users so`rov uchun indeks 0 foydalanuvchi nomini va indeks 1 parolni ko`rsatadi. C++ API bu indeklashni foydalanuvchi uchun xamkorlik qiladi. GetField(1) yoki fields[0] birinchi maydonni qaytaradi.
Do'stlaringiz bilan baham: |