6. 1-Laboratoriya ishi Mavzu: C++ va ma`lumotlar bazasi yordamida oddiy interfeys yaratish Ishdan maqsad: C++ va ma`lumotlar bazasi yordamida oddiy interfeys yaratishni o`rganish va ko`nikmaga ega bo`lish

|
6. 1-Laboratoriya ishi Mavzu: C++ va ma`lumotlar bazasi yordamida oddiy interfeys yaratish Ishdan maqsad: C++ va ma`lumotlar bazasi yordamida oddiy interfeys yaratishni o`rganish va ko`nikmaga ega bo`lish
|
Sana | 08.02.2024 | Hajmi | 5,36 Mb. | | #152979 |
Bog'liq qolgani sizniki
6.1-Laboratoriya ishi Mavzu: C++ va ma`lumotlar bazasi yordamida oddiy interfeys yaratish Ishdan maqsad: C++ va ma`lumotlar bazasi yordamida oddiy interfeys yaratishni o`rganish va ko`nikmaga ega bo`lish. Masalani qo`yilishi: C++ builder 6 dasturining ma`lumotlar bazasi bilan ishlaydigan komponentalarni o`rganish va ular ishtirokida ma`lumotlar bazasi ma`lumotlari bilan oddiy interfeys yaratish. Ma`lumotlar bazasi sifatida Oracle va interfeys sifatida C++ builder 6 dasturlari o`rtasida aloqa o`rnatish. Uslubiy ko`rsatmalar: C++ dasturlash tilida ma`lumotlar bazasi bilan ishlaydigan ADO, DataAccess, DataControl va dbExpress kabi komponenta bo`limlari mavjud. Ular orqali ma`lumotlar bazasi ustida amallar bajarilishi mumkin. Interfeysda ma`lumotlar bazasini chaqirish uchun ADOConnection, ADOQuery va DataSource komponentalaridan foydalanish kifoya. Ma`lumotlar bazasidagi ob`yektni aks ettirish uchun esa DBGrid komponentasidan foydalaniladi. DBGrid komponentasi jadvallarni aks ettiradigan komponenta hisoblanadi. ADOConnection komponentasi ADO bo`limida joylashgan bo`lib, u ma`lumotlar bazasi bilan aloqa o`rnatishga xizmat qiladi. ADOQuery komponentasi ham ADO bo`limida joylashgan bo`lib bog`langan ma`lumotlar bazasiga so`rovlar yozishda ishlatiladi. DataSource komponentasi esa Data Access bo`limida joylashgan bo`lib, so`rovlarni dbGrid komponentasi, ya`ni so`rovlarni jadvallarda aks ettiradi. Yuqorida ko`rib chiqilgan komponentalar ma`lumotlar bazasi bilan aloqa o`rnatishda muhim komponentalar hisoblanadi. Ma`lumotlar bazasini boshqarish tizimining qaysi turi bo`lishidan qat`iy nazar bu komponentalardan foydalaniladi. Shunday ekan C++ builder 6 dasturi va Oracle ma`lumotlar bazasi bog`lashni ko`rib chiqilgan.
7.1 rasm. C++ Builder 6 dasturining bosh oynasi 7.1 rasmda C++ Builder 6 dasturining bosh oynasi keltirilgan bo`lib, ma`lumotlar bazasi bilan aloqa o`rnatishda ADO va DataAccess bo`limlaridan foydalaniladi. Avvalo bu uchta komponentani ishga tushirish kerak bo`ladi. Bu komponentalar dastur ishga tushganda ko`rinmaydi. Ular forma osti komponentalari hisoblanadi.
7.2 rasm. Asosiy komponentalarni ishga tushirilishi
7.2 rasmda asosiy komponentalar ishga tushirilgan. Keyingi qadam har bir komponentani xususiyatiga o`zgartirishlar kiritish bilan bo`g`liq. Birinchi navbatda ADOConnect komponentasi xususiyatining kerakli sozlamalari kiritiladi.
7.3. rasm. ADOConnection komponentasining xususiyati ADOConnection komponentasining xususiyatlarini kerakli bo`limlariga o`zgartirishlar kiritilishi shart. Bulardan biri ConnectionString xususiyatidir. Uni ishga tushirganimizda 7.3 rasmdagi oyna hosil bo`ladi. Ma`lumotlar bazasi bilan aloqa o`rnatishimiz uchun undagi “Build” tugmasi bosiladi va ma`lumotlar bazasini boshqarish tizimiga moslab kerakli bo`limi tanlanadi. Masalan Oracle bilan bog`lanishni amalga oshirish uchun “Microsoft OLE DB Provider for Oracle” bo`limi tanlanadi
7.4 rasm. MBBTni tanlash oynasi
Ushbu bo`lim tanlanib “Далее” tugmasi bosiladi va 7.5 rasm hosil bo`ladi.
7.5 rasm. MBBT bilan bog`lash bo`limi
7.5 rasmda ko`rsatilgan oyna asosiy qilinadigan amallardan tashkil topgan. Bunda server nomini kiritish talab etiladi. Agar Oracle serverga joylashmagan bo`lsa shaxsiy kompyuterni IP adressini yozish kifoya. Keyingi qadamda esa MBBT foydalanuvchi nomi va paroli kiritiladi. So`ralgan ma`lumotlar kiritilgandan so`ng ma`lumotlar bazasi bilan bog`langanligini tekshirib ko`rish mumkin va “OK” tugmasi bosiladi.
7.6 rasm. ADOQuery komponentasi xususiyatlari
ADOQuery komponentasining Connection xususiyatini “ADOConnection1” va DataSource xususiyatini “DataSource1” nomlari bilan belgilash maqsadga muvofiq. Bunda uchta komponenta bir biri bilan aloqa bo`ladi. Keyingi qadam esa ADOQuery komponentasining SQL xususiyatga so`rov yozish bilan davom ettiriladi.
7.7. rasm. SQL xususiyati oynasi ADOQuery komponentasining Active xususiyatiga “True” belgilanadi. Shundagina kiritilgan so`rov ishga tushadi va tekshiriladi. DataSource komponentasininng DataSet xususiyatiga “ADOQuery1” belgilanadi. Bu bilan ikkita komponent o`rtasida aloqa o`rnatiladi. Kiritilga so`rovni aks ettirish uchun yana bir komponenta DBGrid komponentasi kerak bo`ladi. Bu komponenta Data Controls bo`limida joylashgan. U ishga tushirilgandan keyin esa Data Source xususiyatiga “DataSource1” belgilanadi. Tayyor bo`lgan loyiha kompilyatsiya qilinadi. Bu jarayon 7.8. rasmda aks ettirilgan.
7.8. rasm. Kompilyatsiya jarayoni
Bu loyiha har safar ishga tushirilganda ma`lumotlar bazasi logini va paroli tizim tomonidan so`raladi. Buni oldini olish uchun ADOConnection komponentasining LoginPromt xususiyatiga “False” belgilanadi.
Bu yerda keltirilgan Laboratoriya ishi Oracle ma’lumotlar bazasi uchun qurilgan bo’lib, agarda birorta muammo bo’ladigan bo’lsa ma’ruza mashg’ulotlariga tayangan holatda biror bir ma’lumotlar bazasini qo’llab quvvatlaydigan dasturiy ta’minot(Microsoft Access, Denwer, Open Server, SQL Server va boshqalar) dan foydalanishingiz mumkin 6.2- Laboratoriya ishi Mavzu: C++ da ADO va ODBC dan foydalanib qatorlarga ma’lumot kiritish, o`zgartirish va o`chirish Ishdan maqsad: C++ da ADO va ODBC dan foydalanib qatorlarga ma‟lumot kiritish, o`zgartirish va o`chirishni o`rganish va ko`nikmaga ega bo`lish. Masalani qo`yilishi: C++ dasturlash tilining ma`lumotlar bazasi bilan ishlashga mo`ljallangan komponentalardan foydalanib ma`lumotlar bazasiga ma`lumotlarni kiritish, o`zgartirish va o`chirish amallarini bajarish. Bu amallarni DBNavigator komponentasi va so`rovlar orqali hosil qilish maqsadga muvofiqdir. Uslubiy ko`rsatmalar: C++ da ADO va ODBC dan foydalanib qatorlarga ma‟lumot kiritish, o`zgartirish va o`chirish uchun kerakli komponentalarni ishga tushirish zarur. Bu komponentalarni asosini ma’ruza mashg’ulotlarida ko`rilgan komponentalar tashkil qiladi. Bu laboratoriya mashg`uloti yuqoridagi laboratoriya mashg`uloti davomi sifatida qaraladi. ADO va ODBC dan foydalanib qatorlarga ma‟lumot kiritish, o`zgartirish va o`chirishni tashkil qilish uchun birinchi navbatda BDNavigator komponentasi ishga tushuriladi(Boshqa asosiy komponentalar ma’ruzada ishlatilgan. Bu uning davomi sifatida ishlatiladi).
8.1. rasm C++ Builder 6 dasturining komponentalari
8.1 rasmda ko`rsatilgan komponentalardan foydalanib interfeys orqali ma`lumotlar bazasiga ma`lumot kiritish, o`zgartirish va o`chirish amallari bajariladi. Birinchi navbatda DBNavigator komponentasidan foydalanib ma`lumotlar ustida amallar bajarishni ko`rib chiqamiz. DBNavigator komponentasi Data Control komponentalar bo`limida joylashgan.
8.2. rasm. Dastur oynasi
8.2. rasmda interfeys keltirilgan bo`lib, unda DBNavigator komponentasi ishga tushirilgan. U komponentani o`lchamlarini o`zgartirish imkoniyati mavjud. Ma`lumotlar ustida amallar bajarish uchun DBNavigator komponentasining DataSource komponentasi DataSource komponentasi nomiga moslashtiriladi (8.3.rasm).
8.3. rasm. DBNavigator xususiyati
8.3. rasmda DBNavigator komponentasining xususiyatlari keltirilgan. Bu xususiyatlar orqali komponentani o`lchamlarini o`zgartirish, formada joylashgan o`rnini aniqlash, datasourceni tanlash kabi xususiyatlarini ko`rish mumkin. Barcha sozlamalarni o`rnatib bo`lgandan keyin loyixa ishga tushiriladi va DBNavigator bilan Data Source bog`langanligi tekshirib ko`riladi (8.4. rasm).
8.4. rasm. Loyixaning kompilyatsiya jarayon
Interfeys orqali ma`lumotlar ustida amal bajarish uchun boshqa usullardan ham foydalanish imkoniyati mavjud. Buning uchun Edit va Button komponentalaridan foydalaniladi. Qidirilayotgan mahsulot nomi Editda yoziladi va Button orqali qidiruvni amalga oshirishni ko`rib chiqamiz.
8.5. rasm. Edit va Button komponentasidan foydalanish
8.5. rasmda ko`rsatilgan Button komponentasi ustiga sichqonchani chap tugmasi ikki marta bosiladi va dasturning kod qismiga o`tiladi. Button komponentasining kod qismiga o`tilgandan keyin quyidagi C++ operatorlari ketma ketligi yoziladi.
void __fastcall TForm1::Button1Click(TObject *Sender) { // Edit komponentasidan ma`lumotni o`qish String s="SELECT * FROM MAHSULOT WHERE MAHSULOT_NOMI='"+Edit1->Text+"'"; //ADOQuery1 komponentasi bilan ishlash ADOQuery1->Close(); ADOQuery1->SQL >Clear(); ADOQuery1->SQL->Add(s); ADOQuery1->Open(); } Kod yozilgandan keyin dastur kompilyatsiya qilinadi va qidirilayotgan mahsulot nomi yoziladi.
8.6. rasm. Interfeys asosiy oynasi
8.6. rasmda interfeysning asosiy oynasi keltirilgan bo`lib, unda “Olma” so`zi qidirilgan. Bu qidiruvni amalga oshirish uchun Edit komponentasiga qidirilayotgan mahsulot nomi yoziladi va “Qidir” tugmasi bosiladi. Qaysidir ma`noda bu qidiruv deyiladi. Aslida esa tanlash deb yuritiladi, ya`ni bir nechta qatorlar ichidan kerakli bo`lganlarini ajratib olishdir. Bu vazifa tugmani bosgandagina amalga oshadi. Chunki SQL so`rovlar va C++ kod belgilangan tugmaning Click xossasi ichiga yozilgan. Interfeys orqali ma`lumotlarni o`zgartirish va o`chirish imkoniyatlari ham mavjud 6.3-Laboratoriya ishi Mavzu: C++da Windows Forms Data Controldan foydalanish Ishdan maqsad: C++da Windows Forms Data Controldan foydalanishni o`rganish va ko`nikmaga ega bo`lish. Masalani qo`yilishi: C++ dasturlash tilining Data Controls komponentalar bo`limida mavjud bo`lgan barcha komponentalarni amalda qo`llashdan iborat. Bundan tashqari komponentalarning xususiyatarini o`rganib chiqish ham ko`zda tutilgan.
Uslubiy ko`rsatmalar: C++ dasturlash tilida Data Controls komponentalar bo`limi bo`lib, unda 15 ta komponenta joylashtirilgan. Bular bajaradigan vazifalariga qarab ajratiladi. Asosan bu komponentalar ma`lumotlar bazasi ma`lumotlari bilan ishlash uchun mo`ljallangan.
9.1 . rasm. Data Control komponentalar bo`limi
Data Controls komponentalar bo`limida mavjud bo`lgan komponentalar haqida quyida keltirilgan. - DBGrid – bu ma`lumotlar bazasi ob`yektlarini intefeysda to`liqligicha aks ettira oladigan yagona komponenta hisoblanadi. BDGrid jadval ko`rinishi shakllantiriladi. U har bir yacheykada joylashgan ma`lumotlarni ”ADOQuery” komponentasining “SQL” xususyatiga yozilgan so`rov orqali oladi. - DBNavigator – bu komponenta orqali ma`lumotlar bazasi ob`yektlariga to`g`ridan–to`g`ri murojaat qilish mumkin. Komponenta ma`lumotlarni kiritish, o`zgartirish, o`chirish kabi amallarni bajarishga yordam beradi. - DBText – bu komponenta “Label” komponentasiga o`xshash, lekin buning text xossasi yo`q. U ma`lumotlarni ma`lumotlar bazasidan oladi. DBText komponentasining “DataSource” va “DataField” xususiyatlari bo`lib, unda yaratilgan datasource va belgilangan ob`yekt atributi ko`rsatiladi. - DBEdit – bu ma`lumotlar bazasidagi ob`yektning belgilangan taributi elementini aks ettiradi. - DBMemo - Memo matnlarni bir necha qator qilib chiqarish uchun ishlatiladi. Bu matn chiqarish maydoni dasturda natijalarni chiqarishda qo`l keladi. Natijani chiqarishda u dastur ichida quyidagicha ishlatiladi. Memo1.Lines.add('Echim='+S); Memo maydonini tozalash esa natijani chiqarishdan oldin modulda Memo1.Clear buyrug`ini berish bilan amalga oshiriladi. - DBListBox - komponenti ro`yxat va bir o`lchamli massiv ko`rinishdagi ma‟lumotlarni ekranga aks ettirishda ishlatiladi. Ma‟lumotlarni kiritishda esa Edit komponentasidan foydalaniladi. DBListBox komponentasi Standart komponentalar palitrasida joylashgan. - DBComboBox - komponenti ro`yxat va bir o`lchamli massiv ko`rinishdagi ma‟lumotlarni ekrandan kiritish uchun ishlatiladi. U DBListBox va DBEdit komponentalarining birgalikdagi ishini bir o`zi bajaradi. Tashqi ko`rinishdan bu komponent oddiy DBEdit kiritish qatorini eslatadi. Uning o`ng qismida pastga belgisi bo`lib, kiritilayotgan ma‟lumotlarni ko`rib borish mumkin. - DBCheckBox - bog`liq bo`lmagan tanlash tugmalarini yaratadi Bundan tashqari Data Control komponentalar bo`limida DBImage, DBRadioGroup, DBLookupListBox, DBLookupComboBox, DBRichEdit, DBCtrGrid va DBChart komponentalari ham mavjud. Quyida Data Control komponentalaridan bir nechta misollar keltiriladi. DBrid va DBNavigator komponentlalaridan yuqoridagi laboratoriya ishlarida misollar keltirilgan. DBText va DBEdit komponentalaridan foydalanish ko`rib chiqilgan.
9.2. rasm. DBText komponentasining ishlatilishi
9.2. rasmda keltirilgan DBText komponentasini ishlatish ko`rsatilgan bo`lib, uning xususiyatiga murojaatni amalga oshirish zarur. Bu komponentaning DataSource va DataField xususiyatlari asosiy hisoblanadi. Bu xususiyatlar yordamida ma`lumotlar bazasidan ma`lumotlarni o`qish imkoni mavjud bo`ladi. Buning uchun DataSource xususiyati datasource nomiga va DataField xususiyati esa ma`lumotlar bazasining ob`yekti atributi nomiga tenglashtiriladi. Bu ikki xususiyat DBText komponentasini Label komponentasidan farqlab turadi. Chunki bu xususiyatlar orqali ma`lumotlar bazasi bilan bog`lanish imkoniyati mavjud.
9.3. rasm. DBText komponenttasini ma`lumotlar bazasi bilan bog`lash
9.3. rasm. DBText komponenttasini ma`lumotlar bazasi bilan bog`lash
9.3. rasmda DBText komponentasini ikkita xususiyati ajratib ko`rsatilgan.
Ma`lumotlar bazasi bilan bog`lanishda bu xususiyatlar muhim.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
6. 1-Laboratoriya ishi Mavzu: C++ va ma`lumotlar bazasi yordamida oddiy interfeys yaratish Ishdan maqsad: C++ va ma`lumotlar bazasi yordamida oddiy interfeys yaratishni o`rganish va ko`nikmaga ega bo`lish
|