InterBase локальдік серверін жүктеу
Мазмұны
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... 4
1.Жалпы
бөлім ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ...6
1.1 InterBase локальдік серверін жүктеу ... ... ... ... ... ... ... ... ... ... ... . ...6
1.2 Сервер жүктелгенін қалай тексеруге
болады ... ... ... ... ... ... ... . ... ... ... 7
1.3 IBConsole утилитасы. Серверді тіркеу. Жаңа пайдаланушы құру ... ... 8
1.4 Мәліметтер қорын құру. Қатысушыларға анықтамалық кесте құру...12
2.Арнайы бөлім ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 16
2.1 Есептің қойылу шарты ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 16
2.2 Есептің формальды қойылуы ... ... ... ... ... ... ... ... ... ... ... ... ... .17
2.3 Алгоритмнің жалпы құрылымы ... ... ... ... ... ... ... ... ... ... ... ... . 18
2.4 Есептің орындалу үрдісі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 19
2.4.1 BDE арқылы қол жеткізу. BDE Administrator. Алиас құру ... ... ... ..19
2.4.2 БҚ жай қосымшасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..23
2.4.3 TSession және TDataBase компоненттері ... ... ... ... ... ... ... ... 31
2.4.4 ТDataSET компоненті. Мәліметтер жиынтығымен жұмыс ... ... 33
2.4.5 Өзіндік ену сұхбатын құру ... ... ... ... ... ... ... ... ... ... ... ... .47
2.4.6 Мәліметтер жиынтығын өзгерту. TDataSet класы ... ... ... ... ... ... 53
3. Экономикалық
бөлім ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ...61
3.1 Жобаны экономикалық
бағалау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .61
3.2 Бағдарламалық қамтамасыздандыруды игерудегі экономикалық тиімділікті
есептеу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... 62
4. Еңбекті қорғау және техникалық қауіпсіздіктің негізгі
шаралары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..67
4.1 Еңбек пен демалысты ұйымдастыруда берілетін бірқатар
кеңестер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . ... ... 71
4.2 Мекемені
жарықтандыру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... 72
4.3 Мониторға қойылатын
талаптар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..73
4.4 Бағдарламалаушының жұмыс орнына қойылатын талаптар ... ... ... ... ..76
4.5 Жұмыс орнындағы бағдарламалаушының атқаратын жұмысы ... ... ... 77
4.6 Электр және өрт қауіпсіздігі
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .78
4.7 Жұмыс орнындағы температура, қысым,
ылғалдық ... ... ... ... ... ... ... ... .79
4.8 Төтенше жағдай кезіндегі атқарылатын
жұмыс ... ... ... ... ... ... ... .. ... ... .79
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... 81
Қосымша
А ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... 83
Әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ...90
Кіріспе
Қазіргі кезде Delphi-де мәліметтерге қол жеткізудің бірнеше
механизмдері іске қосылған және әрбір механизмге өзінің компоненттер
жиынтығы сәйкес келеді.
• Borland Data Base Engine (BDE) арқылы қол жеткізу. Бұл жақсы дамыған
механизмдердің бірі, мұнда мәліметтерге қол жеткізу қуатты
бағдарламалық кітапхана қорында құрылған әмбебап интерфейс арқылы
жүзеге асырылады. Өңдеуші локальдық мәліметтер қорымен (Paradox,
FoxPro, Dbase, Access) және сонымен қатар кеңейтілген тізімдегі
қашықтағы InterBase, Oracle,Sulase, Informix, Microsoft SQL сервер және
ДВ2 сияқты серверлермен жұмыс істеуіне болады.
ОДВС- драйвері арқылы қосылу мүмкіншілігі де бар.
BDE-нің кемшілігіне қосымшаны тарату мен инсталляциялаудың күрделі
үрдісін айтуға болады, соған қарамай бұл механизм жиі қолданылады.
Тек соңғы кезде кроссплатформалық өңдеулерге байланысты екінші орынға
түсе бастады. Мәліметтерге қол жеткізу компоненттері BDE палитра
бетінде орналасқан.
• ActiveData Object (ADO) қол жеткізу механизмі мәліметтерге қол
жеткізудің бұл тәсілі Microsoft фирмасының стандарты болып табылады
және арнаулы АDО- драйверінің жиынтығын пайдаланады. АDО
механизміне қатысты мәліметтерге қол жеткізу компоненттері АDО
бетінде орналасқан.
• DBExpress механизмі мәліметтерге қол жеткізудің жеңілдетілген
драйверлер жиынтығына негізделген.
Қол жеткізудің бұл типі анағұрлым жылдам және әмбебап, дегенмен іске
асырылған функциялар жиынтығы бойынша ол аз дамыған. DB2, MySQL, ORACLE
және interBase базаларына қол жеткізуді қамтамасыз етеді. Мәліметтер
қорымен жұмыс істеу компоненттері dbExpress бетінде орналасқан.
• InterBaseExpress (IBX) бұл арнайы InterBase серверімен жұмыс істеуге
арналған компоненттер жиынтығы. Бұл механизм мәліметтер қорына аралық
бағдарламалар тікелей қол жеткізуді пайдаланады. IBX компоненттері
InterBase және InterBase Admin- палитра беттерінде орналасқан.
InterBase Admin- компоненті InterBase серверінің 6.0 версиясынан
жоғарыларымен ғана жұмыс істейді.
Дипломдық жобада берілгендер қорына Borland Data Base Engine (BDE) арқылы
қол жеткізу жолы қарастырылып, қосымша құрылады.
1. Жалпы бөлім
1.1 InterBase локальдік серверін жүктеу
InterBase серверін екі түрде жүктеуге болады: қолмен және
автоматты
түрде. Үнсіз келісім бойынша автоматты түрде жүктелу орындалады.
Бұдан басқа, Windows NT InterBase операциялық ортада әртүрлі статуста
жүктелуі мүмкін –сервис түрінде, қосымша түрінде, ал Windows 9598-де тек
қана қосымша ретінде жүктеледі.
Тәртіпті басқаруға және InterBase құрамындағы статусты жүктеуге
арнайы утилита- InterBase Manager қолданылады. InterBase Server Manager
бас мәзір пунктіндегі InterBase бумасын таңдаңыз(1-сурет).
1-сурет. InterBase Server Manager бадарламасының терзесі
Программаның үстінгі бөлік терезесінде (Startup Mode) жүктеу
тәртібін ауыстырып қосқыш бар.
Жүктеу тәртібін қосарда мына екі ауыстырып қосқыштың
бірін таңдау керек: Automatic (автоматы түрде) және Manual (қолмен ). Root
Directiory (сервердің түпкі каталогы)- программаның келесі аймақ терезесі
. Мұнда сервердің файлын ұстап тұратын директория көрсетілген.
Status аймағы терезенің астыңғы бөлігінде орналасқан. Мұнда
сервердің ағымдық жағдайы, яғни серверді тоқтатуға және жүктеуге болатын
кнопка орналасқан. 1-сурет жіберілген серверге сәйкес келеді, Stop (
тоқтау )оң жақ кнопкаға жазылған, сондықтан жазу статус аймағында The
InterBase Server is currently Running (InterBase сервері жұмыс істейді)
деп жазылады. Stop кнопкасын басқанда сервер тоқтатылады, ал кнопкаға
Start(жүктеу) жазуы енеді. Сонымен қатар Running(жұмыс істейді ) сөзі
Stopped (тоқтатылды) сөзіне ауысады. Status аймағы төменгі терезесінде
Run the InterBase server as a service on Windows NT (Windows NT сервисі
сияқты InterBase серверін жүктеу ) жалаушасы орналасқан. Серверді жіберерде
Start кнопкасын басу керек.
1.2 Сервер жүктелгенін қалай тексеруге болады
Windows 9598 операциялық жүйесінде, InterBase сервері жұмыс істеп
тұрған кезде, оның иконкасы тапсырма панелінің оң жақ бұрышында көрініп
тұрады. Windows NT ортасында сервер қосымша болып жүктелгенге қарағанда,
бұл шынайы. Windows NT-та InterBase сервері қызмет түрінде орнатылса,
онда тапсырмалар панеліндегі иконкалар шығарылмайды. Бұндай жағдайда сервер
жұмыс істеп тұрғанын тексеру үшін тапсырмалар панеліндегі бос орынға тышқан
тетігінің оң жақ батырмасын шертіп, ашылған мәзірдегі Диспетчер задач
... пунктінің Процессы беттерінен ibguard.exe және ihserver.exe-ді
іздейміз. Егер олар жоқ болса, онда сервер жүктелмеген.
1.3 IBConsole утилитасы. Серверді тіркеу. Жаңа пайдаланушы құру
InterBase сервері жұмыс істеп тұрғанына көз жеткізгеннен кейін,
оған қосыламыз. Ол үшін басты мәзірдегі InterBase бумасынан IBConsole
бағдарламасын жүктеу керек (2-сурет).
2-сурет. IBConsole бағдарламасының терезесі
IBConsole - интерактивті тәртіпте SQL сұранысын жүктеуге, мәліметтер қорын
серверде құруға және администрациялауға, конфигурациялық серверге қажетті
барлық операцияларды орындауға арналған InterBase пакетіне енетін
графикалық утилита.
IBConsole бағдарламасының терезесі мынадай элементтерден тұрады:
• Администрациялық сервердегі командаларды қамтитын мәзір.
• Мәзір командаларына тез қатынауға арналған кнопкасы бар, құрал-саймандар
тақтасы.
• IBConsole-да тіркелген, мәліметтер қорын және сервердің иерархиясын
бейнелейтін терезелер қатары.
• Спецификалық ақпараттарды қамтитын, сонымен қатар иерархиялық тізбекте
таңдалған қатарға байланысты әртүрлі әрекеттерді орындауға рұқсат ететін,
жұмыс терезесі.
• Таңдалған сервер және пайдаланушы жайлы ақпаратттарды қамтитын, сонымен
қатар мәзірге қосымша жеңілдіктер беретін жолдық жағдай.
IBConsole бағдарламасында сервермен жұмыс істеу үшін, оған
тіркелу керек. Ол үшін Server Register мәзір пунктін таңдаңыз.
Тірекелудің диалог және серверге қосылу терезесі экранға шығады(3-сурет).
3-сурет. Тіркелудің және қосылудың диалог терзесі
Терезенің жоғарғы бөлімінде Local Server пункті таңдалуы керек.
Пайдаланушының есімін SYSDBA және құпия сөзін masterkey деп енгізіңіз.
Бұл құпия сөз үнсіз келісім бойынша, оны өзгертуге де болады, кез-келген
жағдайда серверде жаңа пайдаланушы құрар кезде, міндетті түрде SYSDBA
атынмен енген дұрыс. Атымен және құпия сөзін енгізгенннен кейін ,терезе 4-
суретте көрсетілгендей болады.
4-сурет. Тіркелгеннен кейінгі IBConsole бағдарламасының терезесі
Егер сол жақ терезеде Local Server тізімінің қатары
таңдалса, серверде орындауға болатын, операциялық тізімі бар кесте жұмыс
терезесінде орналасады. Операцияның орындалуы үшін Action колонкасында
атын екі рет шерту керек. Серверде жаңа пайдаланушы құрайық. Басты
мәзірден Server J User Security... пунктін таңдаңыз немесе User
Security операциясының атын екі рет шертіңіз.
5-сурет. Қауіпсіздік диалог терзесі
Қауіпсіздік диалог терезесінің (5-сурет) төменгі жағында
орналасқан New(Жаңа) кнопкасын шертіңіз және User Name өрісіне STUDENT
атын беріңіз, ал Password және Confirm Passwordөрісіне қалаған құпия
сөзіңізді беріңіз.
Әрине құпия сөзді міндетті түрде ұмытпау керек, өйткені серверде
сақталған мәліметтерге қатынау үшін енгізу керек болады. Apply
кнопкасын шертіңіз, одан кейін қауіпсіздік диалогын жабу үшін Close
батырмасын шертіңіз. Біз STUDENT атты пайдаланушы құрдық. Оны көру үшін
Users пункт қатарын таңдасақ болғаны. Пайдаланушының серверіне сәйкес
тізім, жұмыс терзесінің оң жағында көрсетіледі (6-сурет).
6-сурет. Локалдік серверді пайдаланушы
Серверде айқындалған пайдаланушылар тап осы серверде барлық қорға
қатынай алады, бірақ мәліметтерге қатынау үшін міндетті түрде тағы да
басқа кестелер қорын пайдалануға келісім алу керек. Егерде сізде осы қор
кестесіне қатынай алмасаңыз, мәліметтер қорына қосылудан ештене шықпайды.
Кестеге енетін мәліметтер қорында өзінің қосымша рұқсат етілген жүйесі
бар. Бұл жағдайда, сервердің локальдік версиясын қолданғанда, қосымша
пайдаланушы құруды қажет етпейді –біз қазіргі кезде бар SYSDBA
пайдаланушысымен де жүргізе аламыз.
1.4 Мәліметтер қорын құру. Қатысушыларға анықтамалық кесте құру
Серведе жұмыс істеуге болатын аты алғанннан кейін, мәліметтер қорын құрып
және онда мысал ретінде бір кестені көрсетеміз. Gdb кеңейтілуі бар,
InterBase серверінің мәліметтер қоры файл түрінде беріледі. Жаңа
мәліметтер қорын құру үшін мәзірден Database Create Database пунктін
таңдаймыз. Диалог терезесінде мәліметтер қорын (7-сурет) құрғанда келесі
мәліметтерді енгізу керек:
• Alias өрісіне TUTORIAL мәліметтер қорын енгізіңіз.
• Files кестесінің бірінші қатарына берілгендер қорының толық атын
енгізіңіз d:\ib\tutorial.gdb, ал оның беттердегі өлшемі: 230
Келесі Options кестесінде берілгендер қорының қосымша
мәліметттерін көрсетіңіз:
• Page size(беттер өлшемі)-4096. Бұл мағына үнсіз келісімге арналған.
• Default character set(таңбалар жинағының үнсіз келісімі үшін) қатарынан
WIN 125I тізімінен таңдаңыз. Бұл мәліметтер қорында криллиц таңбалары
бар, жолдық берілгендерді сақтау үшін арналған.
• SQL Dialect енгізіңіз.
ОК батырмасын шертіңіз.
IBConsole бағдарламасы мәліметтер қорының тек файлын құрады, ал
мәліметтер қорында құрылатын каталог қатты дискте болуы керек. Мысалы, бұл
жағдайда d: дискісінде ib папкасы болуы керек, егер жоқ болған жағдайда
мәліметтер қоры құрылмайды, экранға қате хабарламасы шығады(8-сурет).
7-сурет. Мәліметтер қорын құрғандағы диалог терезесі
8-сурет.IBConsole бағдарламасының қате хабарламасы
Мәліметтер қорын құру Database қатарының бөлімінде
бейнеленеді. Егер қатарда TUTORIAL атын ерекшелесек, онда таңдалған
мәліметер қорымен орындауға болатын операция тізімі оң жақ бөлікке
шығады(9-сурет).
9-сурет. Мәліметтер қорын құрғандағы IBConsole бағдарламасының
терезесі
Назар аударыңыз, статустық жолға сервер аты, мәліметтер қорының
аляьсы және пайдаланушы аты енгізіледі.
Мәліметтер қорымен жұмыс істеу үшін пайдаланушы оған қосылуы
керек. IBConsole бағдарламасында осыны оңайрақ істеу үшін , мәліметтер
қорының атын тышқан тетігімен екі рет шертсе болғаны. Берілгендер
құрастырушыларға көрінетіндей етіп, қатар тағыда бір деңгейге ашылады (10-
суреті).
10-сурет. IBConsole терезесі
IBConsole құрамындағы мәліметтер қорынның SQL сұранысымен
Интерактивті жұмыс істеуге, қосымша Interactive SQL құрал-саймандар-
бағдарламасы қамтылады. Оны жүктеу үшін мәзірден Tools Interactive
SQL ... пунктін таңдау керек(11-сурет).
11-сурет. Interactive SQL терезесі
Бұл бағдарламада SQL-сұранысын теруге, орындауға және нәтижесін тез көруге
болады. Сондықтан бұл бағдарлама екі аймаққа бөлінеді: жоғарғы- SQL
сұранысының аймағы және төменгі - нәтиже аймағы.
Бұған дейін кестеге жаңа жазулар қоя отырып, біз person_id өрісінің мәнін
көрсеттік, бірақ бұл дұрыс емес тәсіл: біз үшін бұл санда ешқандай пайдалы
ақпар жоқ. Сонымен қатар, кең ауқымды (глобальный) қормен жұмыс істегенде
ерекше мәнді көрсету барлық кезде мүмкін емес, себебі жазу қоюмен бір
мезетте ондаған, жүздеген қолданушы айналысып отыруы мүмкін. person_id
қойған соңғы мәнді табу мүмкін емес, сондықтан бұл прецессті
автоматтандыру керек. Осы мақсатпен берілгендер қорында арнаулы
обьектілер генераторлар қарастырылған.
2. Арнайы бөлім
2.1 Есептің қойылу шарты
Borland Data Base Engine (BDE) арқылы берілгендерге қол жеткізудің
жолдарымен танысу. Бұл жақсы дамыған механизмдердің бірі, мұнда
мәліметтерге қол жеткізу қуатты бағдарламалық кітапхана қорында құрылған
әмбебап интерфейс арқылы жүзеге асырылады. Өңдеуші локальдық мәліметтер
қорымен (Paradox, FoxPro, Dbase, Access) және сонымен қатар кеңейтілген
тізімдегі қашықтағы InterBase, Oracle,Sulase, Informix, Microsoft SQL
сервер және ДВ2 сияқты серверлермен жұмыс істеуіне болады.
Жобада берілгендерге қатынаудың InterBase сервері арқылы жұмыс
істейтін қосымшасын құру керек. Серверге қосылу үшін диалогты терезе
құру. Берілгендер қорының кестелерімен байланыс жасауды ұйымдастыру.
Формаға баерілгендерді шығару арқылы қолданушыға қолайлы интерфейс құру.
2.2 Есептің формальды қойылуы
2.3 Алгоритмнің жалпы құрылымы
2.4. Есептің орындалу үрдісі
2.4.1 BDE арқылы қол жеткізу. BDE Administrator. Алиас құру
SQL стандартына қосылатын мәліметтер қорынның типі өте көп. Бұл
мәліметтер қорын әр түрлі фирмалар жасайтын болғандықтан, олардың
әрқайсысы (SQL сұраныстарын) мәліметтерді сақтауды және SQL- сұраныстарын
өңдеуді орындайды. Бағдарламалық қамтамасыздандыруды жасайтын адам
мәліметтер қорымен жұмыс істегенде клиенттік қосымша мен мәліметтер қорын
байланыстыратын дайындалған арнаулы бағдарлама –драйверлерді пайдаланды.
Бұл драйвер жүйеге сәйкес SQL- серверінің клиент бөлігімен бірге
орнатылады.
Сонымен, клиент қосымшасы мәліметтер қорына жетуі үшін олар
драйвермен байланысты болуы қажет. Әрбір мәлімет қорының өз аты бар, оны
да көрсету қажет. Мәліметтерге қол жеткізу үшін клиент өзінің жүйелік атын
( оны көбінесе логин деп атайды, ағылшынның Login- кіру кезінде
тіркелу сөзінен шыққан) және паролін енгізеді.
Клиент қосымшасы бір мезгілде бірнеше типті мәліметтер қорымен
жұмыс істеуі мүмкін. Шатаспау үшін Delphi құрастырушылары, мәліметтер
қорының драйверлерімен және қасиеттеріне байланысты барлық функцияларды-
аралық кітапханаға енгізді. Аталған кітапхана мынадай атқа ие Borland
DataBase Engine (BDE) –борландық мәліметтер қоры машинасы. BDE мен
бірге жақсы белгілі мәліметтер қорымен жұмыс істейтін SQL Links
драйверлері алып әкелінеді.
BDE мәліметтерді кеширлеуді өзінің міндетіне алып, SQL типіне
жатпайтын қорды сұрыптайды, жадыны басқарады, SQL- сұраныстарды
генерациялайды, мәліметтер типін түрлендіреді және басқа да көптеген
жұмыс атқарады.
1-суретте мәліметтер қорымен клиенттік қосымша арасындағы барлық
байланыс кескінделген.
БҚ
Алиас1
1
Алиас2
2
Алиас3
3
3
1-сурет. BDE бойынша мәліметтердің қозғалыс схемасы
2 және 3 мәліметтер қоры бір типке жатады, сондықтан оларға қол
жеткізу бір драйвер арқылы орындалады. BDE-нің негізгі ыңғайлылығы, барлық
мәліметтер қорымен байланысты орнатулар клиент қосымшасынан бөлек
тұрады. Бағдарламашыға оларды ойланбай-ақ шартты атын көрсету
жеткілікті, бағдарлама өзі байланысты орнатуларды табады және қосады.
Бұл шарттың аты алиас (ағылшынның alias –бүркеншек ат) деп аталады. Алиас
арқылы жұмыс істегенде қосымшаны бір серверден екінші серверге оңай
ауыстыруға болады, содан кейін тағы бір алиас құрылады, бірақ ол басқа
сервердегі мәліметтер қорымен байланыстырылады, ол бағдарламада ештеңе
өзгертілмейді. SQL тілінің стандартымен үйлесімді болуы қажет. Бұл тәсіл
қосымшаларды түзету SQL- сервердің локальдық версияларында орындалады.
Содан кейін сол сервердің глобальды жүйесіне ауыстырылады. Мұндай
ауыстыру масштабтау деп аталады. Дәл осы үшін Delphi – де InterBase
локальды версиясы қосылған.
Клиенттік қосымшаның бірден бірнеше мәліметтер қорымен, әр түрлі
типтегі, жұмыс істеуі сирек кездеседі. Көп жағдайда бағдарлама бірған
мәліметтер қорымен жұмыс істейді. Бұл жағдай да біздің сызбамыз
кішірейтіліп, былай көрінеді(2-сурет):
Алиас
2- сурет. Мәліметтердің BDE арқылы қозғалысының кішірейген сызбасы
Сонымен, бағдарлама қордан алынған мәліметтер мен манипуляция жасау үшін
бірінші BDE-ні орнату керек: алиас құрып оны мәліметтер қорымен
байланыстыру керек. Delphi құрастырушылары ол үшін арнаулы жұмыс
бағдарламасын - BDE Administrator қарастырған. Негізгі Windows мәзірінен
Пуск Программа Borland Delphi7 BDE Administrator таңдаймыз.
BDE Administrator терезесінің сол жағында мәліметтер қорының тақтайшасы
бар, онда BDE де осы мезете анықталған барлық алиастар көрсетілген (3-
сурет).
3-сурет. BDE Administrator терезесі
Жаңа алиас құрып оны біздің мәліметтер қорымызбен байланыстырамыз.
• ObjectNew командасын таңдаймыз немесе пернетақтадан CTRL-N
батырмаларын тереміз.
• Шығатын тізімнен ( 4-сурет) мәліметтер қоры драйверінің типін
InterBase –таңдаңыз да ОК батырмасын шертеміз.
4-сурет. Драйвер типін таңдау терезесі
Алиас терезесінде үнсіз келісім бойынша InterBase1 атымен жаңа алиас
шығады. Ол ерекшеленіп тұр, сондықтан атын өзгертуімізге болады. Үнсіз
келісім бойынша берілген InterBase1 атының орнына “Tutorial” атын
тереміз.
• бағдарламаның оң жақ терезінде баптау параметрлері бар кесте бар.(5-
сурет) Біздің қорға сәйкес болуы үшін кейбір параметірлерін өзгерту
қажет.
5- сурет. МҚ драйверінің параметрлері
LANGDRIVER- оң жақтағы бос графаны шертеміз және пайда болған тізімнен
Pdox ANSI Cyrillic таңдаймыз. SERVERNAME – бұл жерде локальдық сервер үшін
мәліметтер қорының файл көрсету қажет. Тышқанмен графаның оң жиегін
шертеміз, пайда болған көп нүктелі пернені басамыз. (6- сурет) Сұхбаттан
мәліметтер қоры файлын таңдаймыз, біздің жағдайымызда бұл
d:\ib\Student.gdb7
SERVER NAME IB_SERVER:PATHDATABA ...
6- сурет.Мәліметтер қоры базасын енгізу
USERNAME- перне тақтадан өзіміз берген қолданушы аты – Student-ті
енгіземіз.
• Құрылған баптауды мәзір командасы ObjectApply арқылы сақтаймыз.
Пайда болған сұхбатта Save all edist to TUTORIAL? (TUTORIAL үшін
барлық өзгерісті сақтау керек па?) ОК пернесін басамыз.
• BDE Administrator бағдарламасын мәзірден ObjectExit командасын
таңдап жабамыз.
Біз TUTORIAL алиасын құрдық және ол арқылы құрылған мәліметтер қорымен
байланыс жасай аламыз.
2.4.2 БҚ жай қосымшасы
Delphi7 бағдарламасын іске қосамыз.
Компоненттер палитрасындағы барлық компоненттер тақырып бойынша
беттерге бөлінген . Бұл беттердің кейбіреуінде мәліметтер қорымен жұмыс
істеуге арналған компоненттер орналастырылған.
Назарымызды үшеуіне де салайық (7- сурет):
• Data Access – мәліметтер көзі. Бұл компоненттер жоғарыда
көрсетілген мәліметтер қорына қол жеткізудің барлық типтерінде
қолданылады.
• BDE мәліметтерге Borland DataBase Engine мехенизмі арқылы қол
жеткізуді қамтамасыз ететін компоненттер.
• Data Controls- мәліметтердің өздерімен жұмыс істеуге арналған
компоненттер: Өңдеу, жүру, экранға шығару.
7-сурет. Data Access компоненттерінің беті
Формаға Data Source (мәліметтер көзі) және Query (сұраныс)
компоненттерін орнатамыз. Ол үшін палитрадан оларды кезекпен ерекшелейді
де, форманың клиент бөлігін шертеміз.
Data Controls-қа көшіңіз және формаға DBGrid компонентін орнатамыз. Одан
басқа, Standard бетінен екі перне (Button) қосамыз.
Форма 8-суреттегідей болуы қажет.
8-сурет. Қосымша формасы
Енді компоненттер қасиеттерін баптаумен айналысамыз. Ол үшін
компонентті тышқан батырмасымен шертіп ерекшелеп, одан кейін Object
Inspector кестесіне қасиеттің қажетті мәнін енгізіп немесе оны
тізімнен таңдау керек. Егер обьектілер инспекторы экранда көрінбей
тұрса, оны Ғ11 батырмасы арқылы шақыруға болады.
DatabaseName қасиетінің мәні алиас тізімінен теріледі, ол жолдың оң
жақ шетін шерткенде пайда болады. SQL қасиеті –бұл мәліметтер жиынтығын
қайтаратын сұраныс мәтіні. Оны енгізу үшін SQL графасының оң жағында
шығатын көп нүктелі пернені шертіп мәтіндік редактор терезесінен SQL-
сұраныс енгіземіз:
Select * from STUDENT
Бұл сұраныс STUDENT кестесінің барлық өрістерін таңдауға арналған.
DBGrid1 компоненті
Мән
Қасиет
Data Source 1
Data Source
Келесі қадам барлық жұмыстың дұрыс орындалуын тексеруге мүмкіндік
береді. Query1 компонентінің мәні true- ге тең Active қасиетін
орнатамыз.
User Name -өрісіне қолданушы аты қойылған. Серверге кіру үшін пароль
енгізіземіз. Егер бәрі дұрыс орындалмаса, онда мәліметтер қорына
қосыламыз және кестеде біз өткен тарауда жазған жол пайда
болады.(10- сурет)
9- сурет. Пароль енгізу сұхбат терезесі
10- сурет. МҚ қосылғаннан кейінгі қосымша формасы
Active = false мәнін қайтарамыз.
Енді басқа компоненттерге қасиет береміз.
Компонент Қасиет Мән
Form1 Caption Оқушы анықтамасы
Position PoScreenCenter
Button1 Caption Қосылу
Button2 Caption Шығу
Батырмалар енінің ішіндегі жазулар көрінетіндей етіп, тышқанмен
өзгертеміз.OnClick оқиғасының әдістеме-өңдеушілерін батырмалар үшін
жазамыз. Ол үшін қажетті батырманы екі рет шерту қажет, Delphi бос әдісті
автоматты түрде генерациялайды. Button1 батырмасын екі рет шертіп
OnClick әдісін өңдейміз:
Procedure TForm1. Button1Click (Sender: TObject);
Begin
Query. Active: = true;
Button1.Enabled:=false;
End;
Бұл процедурада екі негізгі амал орындаймыз:
• Query1.Active қасиетін өзгертіп, мәліметтер қорына қосыламыз. Бірінші
жолдың орнына Query1.Open жазу арқылы да осы амалды орындауға
болады.
• Қолданушы активті мәліметтер қорына қосыла алмауы үшін Button1
батырмасының режимін өзгертеміз. Тура осылай Button2 батырмасының
әдісін өңдейміз.
procedure TForm1. Button2Click (Sender: TObject);
Begin
If Query1.Active then Query1.Close;
Application.Terminate;
End;
• Button2 қосымшаны жабу пернесі. Жабу алдында мәліметтер қорымен
біріктіру активті екенін тексереміз.
If Query1.Active then Query1.Close;
Жобаны PROJ3-1 папкасына сақтаймыз.
Бұл жерде proj3-1 prg жобасының файлын атаймыз, unit1 атының
орнына сақтауға uStudent тереміз.
Қосымшаны жүргіземіз және қосылу пернесін басамыз, бағдарлама парольды
енгізуіңізді сұрайды. Парольды енгізіп ОК пернесін басамыз. Мәліметтер
қорына қосылу орындалып Student кестесінің мазмұнын көреміз(11- сурет)
шығу пернесін басамыз.
11- сурет. Қосымша терезесі
Кестеде мәліметтер қоры кестесінің барлық бағандарының бар
екеніне назар аударамыз, бағандардың тақырыптары ретінде олардың аттары
алынған. Күрделі қосымшада бұлай істеуге болмайды орындаушыға PERSON-
ID жазуының кодын білу міндетті емес және тақырыпша аттары аты,
әкесі, тегі болғаны дұрыс.
DBGrid компоненті арқылы осының бәрін орындауға болады.. Тышқан
арқылы DBGrid кестесін ерекшелеймыз. Экранда контексті мәзір пайда болады
(12-сурет), оның бірінші пункті Columns Editor...( бағандар редакторы).
Мәзірдің осы пунктін таңдаймыз.
Ins батырмасын басамыз. Кестеде жаңа жол o-Tcolumn(13-сурет) пайда
болады. Бұл кестенің әрбір жолы DBGrid1 компонентінің бағанына сәйкес және
редактор бағандарды құруға, олардың қасиеттерін өңдеуге және өшіруге
мүмкіндік береді.
12- сурет. DBGrid1 компонентінің контекстік мәзірі
13- сурет. Кестенің баған редакторы
Жолды тышқанды шерту арқылы белгілеймыз де Ғ11 пернесін басамыз. Экранда
баған қасиеттерін өңдеуге болатын Object Inspector терезесі шығады.
Кестенің келесі мәндерін орнатамыз:
• Field Name: МҚ кестесінің Last_Name бағанымен байланысқан өрісінің
аты;
Title тізімін ашамыз, ол үшін Title сөзінің қасындағы белгіні шертеміз.
Қасиет тақырыбының атын өзгертеміз:
• Alignment: тақырыпты түзету- taCenter мәнін орнатамыз;
• Caption: тақырып мәтіні-Tегі;
• Font: тышқанмен көпнүктелі пернені шертіп, шрифт сұхбатында
полужирный деп таңдаймыз.
• Тура осылай тағы үш баған құрамыз да, оларды кесте өрістерімен
байланыстырамыз:
Баған аты МҚ өріс аты
Аты FIRST_NAME
Әкесінің аты MIDDLE_NAME
Дата Start_DATE
Query1 компонентінің Active = true қасиетін қосамыз және форманың,
кестенің, бағанның өлшемдерін терезеге сиятындай етіп өзгертеміз. Осы
өзгертулерден кейін форма келесі түрде көрінеді:
14- сурет. Бағандарды өңдегеннен кейінгі қосымша формасы
Үнсіз келісім бойынша мерзім dd.mm.yy форматында көрсетіледі, егер біз
жыл төрт таңбамен берілсін десек, онда ShortDateFormat айнымалысына мән
беру қажет. OnCreate жағдайының өңдеушісін құрамыз да, келесі мәтінді
тереміз:
ShortDateFormat:=’dd.mm.yyyy’;
2.4.3 TSession және TDataBase компоненттері
Клиент қосымшасының ішінде не болатынын қарастырайық (4.15 сурет)
База
данных
15-сурет. МҚ байланысқан компоненттердің өзара әрекетінің сызбасы
Delphi қосымшалары мәліметтер қорының серверлерімен борландық
мәліметтер қоры машинасы BDE арқылы байланысқан. Мәліметтерге қол
жеткізу функцияларының бәрі BDE байланысының контекстінде орындалады.
Delphi обьектілі – бағытты өңдеу ортасы болғандықтан қол жеткізу
механизмі TSession және TDataBase компоненттері арқылы іске
асырылған.
Қормен BDE арқылы жұмыс істейтін кез келген қосымшада болмағанда
TSession компоненті болады. Бұл компонент қосымшада автоматты түрде
құрылады. Оны тек бағдарлама жұмыс барысында ған пайдалануға болады.
Сонымен қатар, кейбір жағдайларда өңдеуші бағдарламада TSession-ң
қосымша обьектілерін құрып алуына болады. Ол үшін формаға TSession
компонентін BDE бетінен алып қою жеткілікті. Бұл мынадай жағдайларда
қажет болуы мүмкін:
• Қосымша бір мезгілде бір мәліметтер қорында бірнеше сұраныстармен
жұмыс істейді. Әрбір сұраныс бөлек орындалуы қажет.
• Көп ауысымды қосымшалар. Мәліметтер қорымен жұмыс істеу үшін әрбір
потоктың өзінің TSession компоненті болуын талап етеді. TSession
-ның көптеген компоненттері автоматты құрылатын TSession тізімі
арқылы құрылады. TSession барлық жұмыс істейтін МҚ байланысын
басқаруға жауап береді және өзі DataBase МҚ тізімін жетілдіреді.
ТDataBase компоненті жекеленген мәліметтер қорымен біріктіруді басқаруға
мүмкіндік береді. Сонымен, қосымшада бірнеше TSession обьектісі болады,
олардың әрқайсысы бірнеше мәліметтер қорын басқарады. TSession және
TDataBase компоненттері мәліметтер қорына қол жеткізу және байланыс
жасаумен айналысады. Мәліметтермен тікелей жұмыс істейтін бірнеше
арнаулы компоненттер және TDataSET обьектісінің мұрагерлері бар
(TBDEDATASET және TDBDATASET арқылы). Бұл үш компонент Data Access
бетінің Ttable, Tquery және TstoredProc палитрасында көрсетілген.
Мәліметтерді манипуляциялаудың барлығы SQL- сұраныстар арқылы
жасалынады. Бұл сұраныстарды екі үлкен топқа бөлуге болады:
• Мәліметтер жиынтығын қайтаратын сұраныстар. Бұған SELECT типіндегі
таңдау сұраныстары кіреді.
• Мәліметтер жиынтығын қайтармайтын сұраныстар. Бұларға мәліметтерді
өзгертетін –DELETE, INSERT, UPDATE, сонымен қатар DDL- мәліметтерді
анықтау тіл сұраныстары кіреді.
TTable компонентімен жұмыс барысында өңдеуші SQL- сұраныстарын көрмейді.
Тек қана Ttable Name қасиеті ,яғни мәліметтер қоры кестенің аты беріледі.
Бұл компонент әруақытта сұраныс нәтижесін қайтарады.
SELECT * FROM TableName
TQuery компоненті SQL- сұраныстарын береді. Ол мәліметтерді таңдау және
мәліметтерді манипуляциялау сұраныстарымен жұмыс істейді. Ол үшін TQuery
–де екі әдіс бар: Open және ExecSQL. Open әдісі сұраныс мәліметтер
жиынтығын қайтарғанда пайдаланса, ExecSQL –сұраныс мәліметтерді қайтармау
жағдайында пайдаланылады.
TStoredProc компоненті арнайы SQL серверде сақталатын
процедураларды орындауға арналған. Ол үшін бұл компонентте
StoredProcName ( сақталатын процедура аты) және Params (процедура
параметрі) қасиеттері бар.
TStoredProc компоненті жұмыс істейтін сақталатын процедура
мәліметтен жиынтығын қайтарады немесе қайтармайды. Мәліметтер жиынтығын
алу үшін Open әдісі, ал курсорды қайтарылмайтын процедураны орындау үшін
ExecProc әдісі щақырылады.
TTable, TQuery, TStoredProc компоненттері арқылы алынатын мәліметтер
жиынтығы өңделетін де, өңделмейтін де болуы мүмкін. Өңделетін мәліметтер
жиынтығын тірі мәліметтер деп те атайды.
2.4.4 ТDataSET компоненті. Мәліметтер жиынтығымен жұмыс
Мәліметтер қорынан таңдауға сұраныс алған соң SQL сервер арнаулы
уақытша кесте жасайды. Ол кестемен жұмысты Ttable, TQuery, TstoredProc
компоненттері орындайды. Олар TDataSET-тің мұрагерлері болып табылады. Осы
компоненттің мұрагерлернің функционалдығын анықтайтын әдістер мен
қасиеттерді қарастырайық.
Мәліметтер жиынтығын ашу. Мәліметтер жиынтығын жұмысты бастамас
бұрын, оны ашу керек. Оны екі тәсілмен істеуге болады. Active қасиетіне
true мәнін меншіктеу керек немесе Open әдісін орындау керек. Алдыңғы
мысалда мынадай жол бар. Query1 Active:= true; тура осылай . Query1 Open;
деп жазуға болады.
Мәліметтер жиынтығын жабу. Ашу сияқты жабуда Active қасиетіне мән
беріледі, керісінше бұл мән false немесе Close әдісі орындалады. If
Query1.Active then Query Close;
Мәліметтер жиынтығы бойымен қозғалыс (новигация). Жоғарыда айтылғандардың
бәрі сұраныс нәтижесінде SQL сервер мәліметтер жиынтығын жасайтын
жағдайда қатысты айтылған. Ол сұранысты берілген бағандары бар уақытша
кестелерді көрсетеді. Біз бұл кестенің бip ғана бетін активті жазуын
көреміз. Бұл активті жазу көрсеткіші меңзер деп аталады. (16- сурет)
Сирота Вера Анатольевна 1984
16-
сурет. Мәліметтер жиынтығы бойымен қозғалыс
Мәліметтер жиынтығының КЭШ-і қосымшаның басқа обьектілерінде
пайдаланылады. Мысалы, біздің бағдарламада қолданушы экраннан бірнеше
жазудан тұратын кестені көре алады. Бұл кестені салуда деректер
мәліметтер жиынтығының КЭШ-інен алынады. Кестенің барлық мәліметтерімен
жұмыс істеу үшін бізге мәліметтер жиынтығы мен жоғары және төмен
қозғала алуымыз керек (Мұндай қозғалысты новигация деп атайды). Ол үшін
TDataSET обьектісінде келесі әдістер бар:
First меңзерді мәліметтер жиынтығының бірінші жазуына апарады.
Last меңзерді мәліметтер жиынтығының соңғы жазуына апарады.
Prior меңзерді мәліметтер жиынтығының алдыңғы жазуына апарады.
Next меңзерді мәліметтер жиынтығының келесі жазуына апарады.
NoveBy меңзерді берілген санға тең жазуға жылжытады.
Сонымен қатар TDataSET компонентінде типі Boolean екі қасиет бар,
олар мәліметтер жиынтығымен қозғалуда бағытты анықтауға көмектеседі.
BOE true, егер меңзер мәліметтер жиынтығының бірінші жазуында тұрса,
кері жағдайда false.
EOF true, егер меңзер мәліметтер жиынтығының соңғы жазуында тұрса, кері
жағдайда false.
Мысалы, Query1 компоненті үшін әдіс шақыру келесі түрде орындалады:
Query1.Next;
BOE және EOF әдістері функциялар болып табылады, яғни Boolean типті
мәнді қайтарады. EOF функциясын қолданудың мысалы ретінде мәліметтер
жиынтығынан жазуларды таңдауда қарастыруға болады.
While not Query 1 EOF do
Begin
...
Query1.Next;
End;
Жылжу әдістерінің жұмысын қарастырайық. Формаға екі батырма TSpeeButton
екі батырмасын Additional палитрасы бетінен орнатамыз. ( Delphi оларға
үнсіз келісім бойынша SpeeButton1 және SpeeButton2 аттарын меншіктейді).
Батырмаларға сурет орнатамыз. (Clyph қасиеті) Бұл суреттер Delphi-дің
стандартты жиынтығына кіреді және үнсіз келісім бойынша ...Program
Files\Common Files\Borland Shared\ Images\Buttons\.каталогында болады.
arrowld.bmp arrowlu
Екі батырмаға да Enabled= false қасиетін орнатамыз. Енді бұл
батырмалар үшін OnClick өңдеушілерін құрамыз. Ол үшін батырманы екі рет
шертеміз. Delphi бос дайындық әдістерін өзі генерациялайды. Өңделгеннен
кейін бағдарлама файлы төмендегідей болады.
Unit uStudent;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, Db, DBTables, Buttons;
Type
TForm1=class(TForm)
Query1: T Query
DBGrid1: TDBGrid;
Button1: TButton;
DataSource1: T DataSource;
Button2: TButton
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Procedure Button1Click (Sender: TObject);
Procedure Button2Click (Sender: TObject);
Procedure FormCreate (Sender: TObject);
Procedure SpeedButton1Click (Sender: TObject);
Procedure SpeedButton2Click(Sender: TObject);
Private
{Private declarations}
ProcedureCheckPosition;
Public
{ Public declarations }
End;
Var
Form1: TForm;
Implementation
{SR*.DFM}
Procedure TForm. Button1Click (Sender: TObject);
begin
Query1.Active: =true;
Button1. Enabled: = false;
CheckPosition;
End;
Procedure TForm. Button2Click (Sender: TObject);
begin
if Query1.Active then Query1.Close;
Application. Terminate;
End;
Procedure TForm1. FormCreate (Sender: TObject);
begin
ShortDateFormat: =’dd.mm.yyyy’;
End;
Procedure TForm1. CheckPosition;
begin
if Query1.EOF then SpeedButton1. Enabled: = false; else SpeedButton1.
Enabled:=true;
if Query1.BOF then SpeedButton2. Enabled: = false; else SpeedButton2.
Enabled:=true;
end;
Procedure TForm1. SpeedButton1Click (Sender: TObject);
Begin
Query1. Next;
CheckPosition;
End;
Procedure TForm2. SpeedButton2Click (Sender: TObject);
Begin
Query1. Prior;
CheckPosition;
End;
End.
Біз бұл жерде тағы бір әдісті қостық, ол CheckPosition, ол мәліметтер
жиынтығында меңзердің тұрған орнын анықтайды және сәйкес Enabled
батырмасының қасиетін орнатады. BOF және EOF қасиеттерін меңзердің
мәліметтер жиынтығындағы орнын анықтау үшін пайдаландық.
Келесі жағдайларда BOF қасиеті true болады:
• мәліметтер жиынтығы ашылғаннан кейін;
• First әдісі шақырылғаннан кейін;
• Prior әдісін сәтсіз шақырғанда
Келесі жағдайларда EOF қасиеті true болады:
• мәліметтер жиынтығы бос;
• Last әдісі шақырылғаннан кейін;
• Next әдісін сәтсіз шақырғанда.
• Бағдарлама қосып мәліметтер қорына кіргеннен кейін ол келесі түрде
көрінеді(17- сурет).
17- сурет. Жылжу батырмалары мен қосымша терезелер.
Кесте бойымен стрелкалары бар пернелерді басып жоғары және төмен
жылжытамыз. Біз екі навигациялау әдісін қолдандық, бірақ тура осылай First
және Last әдістерімен батырмалар құруға болады. MoveBy әдісі туралы бірер
сөз айта кетейік. Ол меңзерді берілген санға тең жазуларға алға және
артқа жылжытады. Мысалы,
MoveBy (3);
Меңзерді 3 жазуға алға жылжытады. Артқа қарай жылжу үшін параметр таңбасы
теріс болуы керек:
MoveBy(-3);
Мәліметтер жиынтығының өрісі: Кез- келген мәліметтер жиынтығы өрістерден
тұрады, біздің мысалымызда кесте бағандары-өрістер болып келеді. TDataSet
обьектісі реттік номері немесе аты бойынша жеке өрістерді шақыра алады.
Реттік нөмері бойынша шақыру үшін
property Fields( Index : integer);
Fields қасиетінің Тfields типі бар , ол қаситеттердің-
модификаторларын толық иелік етеді. Бұл қасиеттер берілген типті өрістің
мәнін алуға мүмкіндік береді.
AsBCD
AsBoolean
AsCurrency
AsDateTime
AsVariant
Мысалы, 3-ші өрістің жолдық мәнін алу үшін келесі әдісі шақырылады.
Query1.Fields [3]. AsString;
Барлық өріс үшін барлық мадификаторлар шақырыла бермейді. Мысалы,
алфавитті-цифрлы ақпараты бар өріс үшін Asinteger әдісін шақыру мүмкін
емес.
Формаға Tlabel (18-сурет) компонентін қосамыз және CheckPosition әдісін
өңдейміз:
18- сурет. Label1 фамилия шығаруға арналған таңбасы
Procedure TForm1. CheckPosition;
begin
if Query]..EOF then SpeedButtonl.Enabled:=false else
SpeedButtonl.Enabled: =true;
If Queryl.BOF then SpeedButton2.Enabled:=false else
SpeedButton2.Enabled:=true; Labell.Caption:=Queryl.Fields[3].As String; end;
Бағдарламаны қосамыз. Мәліметтер қорына қосылған соң Label1-дің
орнына формада оқушы фамилиясы шығады, ол меңзерді кестемен жылжытқанда
өзгеріп тұрады. Өріс мәліметтер жиынтығындағы бағанның орны бойынша
нөмірленеді. Нөмірлеу 0-ден басталады. Кестеден алып тасталған бағандар
мәліметтер жиынтығында бар. Оны тексеру үшін 3-ші өрістің орнына 0-ді қою
керек.
Label1.Caption:=Query1.Fields[0] AsString;
Query1 компонентінде бағаналар реті кесте құрғандағы реттен
тұрады. DBGrid-ң өзі мәліметтер жиынтығы болғандықтан ол Query1-ден ақпарат
алып, мәліметтер жиынтығын экранға шығарады. (4.10. сурет) Мәліметтерді
баған аты бойынша шақыру үшін келесі функцияны пайдаланамыз:
FunctionFieldBy Name (constFieldName:string): TField;
Бұл функцияның қолданылуы Fields қасиетіне ұқсас. Мысалы, оқушы
фамилиясын алу үшін CheckPosition әдісін келесі түрде өзгертеміз:
Procedure TForm1. CheckPosition;
Begin
if Query1.EOF then SpeedButton1.Enabled: =false; else
SpeedButton1.Enabled:=true;
if Query1.BOF then SpeedButton2.Enabled: =false; else
SpeedButton2.Enabled:=true;
Label1. Caption: =Query1. FieldByName (‘last_name).AsString;
End;
Сонымен қатар TDataSet объектісінің ұрпақтарының бәрінде
Property FieldVales [const.FieldName;string]: Variant; default қасиеті
бар.
Query1 мәліметтер жиынтығы
PERSON_ID FIRST_NAME MIDDLE_NAME LASTE_NAME START_DATE
=================================== =========================
2 Diana hihih
Кожатаева 3-MAY-2000
3 Гульнур Ергалиевна
Иргебаева 3-MAY-2000
4 Айтолкын Усенкуловна
Усенкулова 3-MAY-2000
5 Айсулу Балтаева 3-MAY-2000
6 Мария Сыдыманкызы Сыдыманова 3-MAY-2000
7 Досхан Косайулы Косаев 3-MAY-2000
9 Марат джлжл
Косаев 3-MAY-2000
10 Енлик Казакбайевна
Казакбай 3-MAY-2000
19-сурет. DBGrid-ң мәліметтер жиынтығымен өзара әрекеті
Анықтамадан көрініп тұрғандай бұл үнсіз келісім бойынша алынған
қасиет, яғни өрістің аты бойынша мәлімет алу үшін.
Label1.Caption:= Query [‘last_name’]; деп жазу керек.
Кейде алдын-ала бағандар туралы ештеңе белгісіз мәліметтер
жиынтығымен жұмыс істеуге тура келеді. Field Count қасиеті мәліметтер
жиынтығындағы бағандардың жалпы санын біледі, cондықтан ол арқылы
мәліметтер жиынтығынан өріс алу циклын оңай ұйымдастыруға болады.
Бағдарламаға өрістер туралы ақпаратты көру формасын қосамыз.
Форма биіктігін ұзартамыз да ТButton типінде батырма орнатамыз
(Delphi, оған Button 3-деп ат береді) Оның қасиетін өзгертеміз
Caption=‘өріс...’, Enabled=false; (20- сурет)
20- сурет. Өріс батырмасымен берілген қосымша форма
Жобаға Form2 формасын қосамыз (FileNew Form) оған 2 TListBox
компонентін және ТButton батырмасын қоямыз.
Компонент Қасиет Мән
Form2 Caption Мәліметтер жиынтығ
Position өріс
BorderStyle poScreen Center
Button1 Caption bsDialog
ModatResult шығу
mrOK
Формаға компоненттерді 21-суреттегідей етіп орнатамыз.
21- сурет. Өріспен жұмыс істеуге арналған форма
Жаңа модульді uField.pasдеп сақтаймыз.
Бізге келесі нәтижелерге жету керек:
• Бұл форма экранға шыққанда сол жақ тізімде мәліметтер жиынтығының
өрістерінің аты тұру қажет.
• Сол жақ тізімнен өріс атын ерекшелегеннен кейін, оң жақ тізімде бұл
өріс туралы келесі ақпарат шығу қажет.
- өріс аты;
- өріс типі;
- өріс мәліметтерінің типі;
- мәліметтер өлшемдері;
- мәліметтер жиынтығындағы реттік нөмер;
- өріс өңделді ме немесе жоқ;
Бұл үшін uFields модуліне бірнеше өңдеуішілерді қосамыз. Белгілі бір
объектіге жаңа өңдеуіш қосу үшін бұл объектіні экранда белгілеп, Object
Inspector(F11) шақырамыз. Events бетіне өтеміз және қажетті жағдайда екі
рет шертеміз. Бос әдісті Delphi автоматты түрге генерациялайды.
OnShow өңдеушісін Form2 үшін және OnClick –ті ListBox1 үшін құрамыз.
DB модулін Uses бөліміне қосамыз. Өңдегеннен кейін модуль келесі түрде
болуы қажет:
Unit u Fields;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB;
type
TForm2 – clas(TForm)
ListBox1: TListBox;
ListBox2: TListBox;
Buttonl: TButton;
Procedure FormShow (Sender: TObject); procedure ListBoxlClick (Sender:
TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{SR *.DFM}
procedure TForm2.FormShow (Sender: TObject);
var i: integer;
begin
ListBoxl. Items.Clear;
ListBox2. Items.Clear;
for i:=0 to Forml. Queryl. FieldCount-1 do
ListBoxl. Items. Add (Form. Queryl. Fields [i]. FieldName);
end;
procedure TForm2.ListBoxlClick(Sender: TObject);
var FKind: string;
CField: TField;
begin
if ListBoxl.Itemlndex=-1 then Exit;
ListBox2.Items.Clear;
CField:=Forml.Queryl.FieldByName (ListBoxl.Items[ListBoxl.Itemlndex] );
ListBox2.Items.Add('өріс аты-'+CField.DisplayName);
ListBox2.Items.Add{' өрістің мағынасы -'+CField.DisplayText);
case CField.FieldKind of
fkData: FKind:='МҚ кестесінің өрісі ';
fkCalculated: FKind:='есеп айыратын';
fkLookup: FKind:='өрісті іздеу';
fklnternalCalc: FKind:=’жиынтықтың есеп айырысатын сақтаулы нәтижесі’;
fkAggregate: FKind:='аггрегирированды';
else
FKind:=' өрістін тәуелсіз түрі'; end;
ListBox2.Items.Add ('түр - '+ FKind);
ListBox2.Items.Add ('өрістің типі - '+ FieldTypeNames [CField.DataType]);
ListBox2.Items.Add{'өлшемі (байт) - '+ IntToStr(CField.DataSize));
ListBox2.Items.Add('нөмірі - ' + rntToStrfCField.FieldNo));
if CField.CanHodify then
ListBox2.Items.Add('өңделетін') else
ListBox2.Items.Add:(‘өңделмейтін’);
end;
end.
Келесі формаға өтіп Forml метод енгіземіз OnCIick батырмаға Button3:
procedure TForml.Button3Click(Sender: TObject);
begin
Form2.ShowModal;
end;
Әдіске келесі жолды қосамыз.
Procedure TForm1. Button1Click (Sender: TObject);
Button3.Enabled:=true;
Бағдарламаны құрып, қосамыз. Компиляция кезінде Delphi модульдердің бір-
біріне сілтемесін қосуыңызды ұсынады, сұранысқа сенімді түрде жауап
береміз. Базаға қосылған соң өріс... (22-сурет) батырмасын басамыз.
22- сурет. Кесте өрісінің қасиеттерін көру
Терезенің сол жағында өрістер аттары көрсетілген . Items жолдың
қатарына олар келесі циклде қосылады.
for i:=0 to Forml.Queryl.FieldCount-1 do
ListBoxl.Items.Add (Forml.Query.Fields[i].FieldName);
Оң жақ терезеде таңдалған өріске қатысты мәліметтер шығады. Бұл
жерде TField объектісінің әртүрлі қасиеттері пайдаланылады.
Display Name- қолданушы үшін әрқашан көрінетін өріс аты. Бұл
хабарламалар шығару үшін пайдаланылады. Бұл қасиет тек оқуға арналған. Оны
өзгерткіміз келсе, басқа қасиетті шақырамыз. Display Label-ді өзгерткенде
бірден Display Name-де өзгереді. Display Label-үнсіз келісім бойынша DBGrid
типіндегі мәліметтер қорымен жұмыс істейтін өріс аты.
DisplayText –мәтіндік формадағы өріс мәні.
FieldKind- өріс түрі, өрістің кесте бағаны, есептеу өрісі, іздеу
өрісі, т.с.с. екенін көрсетеді.
DataType – TfieldType өрісі мәліметтерінің типі. Мәтіндік өрнекті
алу үшін DB модулінде FieldType Names: array[TField Type] of String деп
сипатталған.
Өрістің типін сипаттайтын жолдармен инициализацияланған массив берілген.
Біздің мысалымызда FieldType Names[СField DataType] өрнегі жолды типінің
атымен қайтарып береді.
FieldNO- мәліметтер жиынтығындағы 1-ден басталатын өрістің реттік
нөмері.
CanModify- өрістің өңделетінін немесе өңделмейтінін көрсетеді.
TdataSet объектісі мәліметтерді өңдесе, онда оның мәні true және
ReadOney=true. True мәнін әлі өрістің мәнін өзгертуге болатынына кепілдік
бере алмайды. Кейбір өрістердің түрлері мәліметтерді өңдеуге рұқсатын
береді, бірақ өзгертулер енгізуге тыйым салады.
2.4.5 Өзіндік ену сұхбатын құру
Мәліметтер қорымен жұмыс істейтін Delphi- бағдарлама ұзын бір-
бірімен байланысқан компоненттер тізбегінен (шынжыр) тұрады, олардың
негізінде SessionList сессиясының тізімі тұр. Бұл тізімде кемінде бір
сессия болады, ол үнсіз келісім бойынша Session атымен құрылады, және
оның Default деген өз аты бар. Тізбектің басқа шетінде басқа бір
визуалды компонент тұрады (біздің мысалда DBGrid) 23-суреттен компоненттер
көрсеткіштерге сілтемелермен байланысқан емес, сессия аты Session Name
және база аты (алиас) DataBaseName маңызды роль атқарады. Біріктіруді
активтендіргенде ТDataBase шығады
TSession
DataBase
TTable, TQuery
TStaredPrac
TDataSource
23- сурет.SessionName сессиясының аты арқылы компоненттер байланысы
Қосымшаны базамен біріктіргенде не болатындығы бағдарлама өңдеушіге
белгісіз, сондықтан осы үрдістерге толық тоқталамыз.
Қосымшаны жобалауда біз:
• Формаға TDataSource және TQuery компоненттерін қойдық;
• Мәліметтер қоры алиасын, кестені орнаттық;
• TQuery TDataSource-мен байланыстырдық.
TSession компоненті автоматты түрде Dbtables модулін
инициализацияланғанда бағдарламаны қысқаннан кейін бірден құрылды. Егер
‘uses’ секциясында Dbtables модулі болса, онда қосымшада міндетті түрде
TSession объектісі құрылады, оған Delphi ортасында қол жеткізу үшін Session
айнымалысы анықталған. Бұл оъектінің SessionName қасиеті ‘Default’-ке тең
болып орналастырады. SessionList тізімінің мүшесі ретінде Session
құрылады. Session –дағы DataBases тізімінде ешқандай мәліметтер қоры жоқ,
сондықтан DataBasCount=0 компоненттердің бұл мезеттегі байланыс сызбасы
келесі түрде көрсетіледі. (24- сурет)
TTable, TQuery
TStaredPrac
TSession
TDataSource
24- сурет. Инициализацияланғаннан кейінгі компоненттер байланысының
сызбасы
Әзірше TDataBase компоненті жоқ, ал Session және мәліметтерге қол
жеткізу компоненті тек қана SessionName сессия атымен байланысқан. Біз
оны көрсеткен жоқпыз, сондықтан үнсіз келісім бойынша бұл ат Default
деп аталынады .Бағдарламаны қосқан соң Button1 батырмасын басқанда
Query1.Open әдісі шақырылады. DataBases тізімінің ағымдағы сессиясында
осындай атпен мәліметтер қоры бар ма екені тексеріледі. Егер жоқ болса,
DataBase жаңа объектісі құрылады және DataBases тізіміне оған сілтеме
қосылады, кері жағдайды ТDataBase бар объектісі алынады. Енді ТDataBase
объектісінен Open әдісі шақырылады, экранда стандартты ену сұхбатты
шығады. ТDataBase компонентінің Boolean типті LoginPrompt қасиеті ену
сұхбатын шығару қажеттігін көрсетеді. Үнсіз келісім бойынша оның мәні
true. Егер LoginPrompt=false болса, онда қолданушы ТDataBase
объектісіне қолданушы аты мен паролін өзі беру керек, ол үшін оларды
Params тізіміне қойылады. Үнсіз келісім бойынша ТdataBase біріктіру
үрдісінде ғана құрылатын болғандықтан, бірге алдын-ала өз компонентімізді
ТDataBase құрып оны TQuery мен байланыстыру керек. Мұны бағдарлама
орындалу кезінде де, жобалау кезінде де істеуге болады.
Біздің оқу проектімізде осыны орындайық .
Form1 формасына ТDataBase компонентін BDE компоненттер палитрасынан
алып орналастырамыз. Оның қасиеттерін Object Inspector арқылы орнатамыз.
Компонент Қасиет Мән
DataBase1 DataBaseName TUTORIAL
LoginPrompt false
OnClick әдісін Button1 батырмасы үшін өңдейміз.
Procedure TForml.ButtonlClick (Sender: TObject); begin
Databasel.Params.Valuesf ['PASSWORD-' ] := 'silver';
Databasel.Params.Values['USER NAME'] := 'STUDENT';
Queryl.Active:=true;
Buttonl.Enabled:=false;
Button3.Enabled:=true;
CheckPosition;
end;
Компиляциялаймыз және бағдарламаны қосамыз. Енді Session объектісінің
мәліметтер қоры тізімінде TUTORIAL атты қор бар, сондықтан ол
біріктіруді ашқанда пайдаланады. Оның LoginPrompt=false болғандықтан
қолданушы аты мен паролі Params тізімінен алынады, яғни бұл бағдарлама
қолданушыдан ештеңке сұрамайды. Ақпаратты қорғау жағынан қарағанда
мұндай жағдайды болдырмау керек, сондықтан бағдарламаға ат және пароль
енгізетін сұхбат қосамыз. Жобаға жаңа форма қосамыз (FileNewForm). Жаң
формаға TEdit компонентінің екі батырмасын және TLabel ... жалғасы
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... 4
1.Жалпы
бөлім ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ...6
1.1 InterBase локальдік серверін жүктеу ... ... ... ... ... ... ... ... ... ... ... . ...6
1.2 Сервер жүктелгенін қалай тексеруге
болады ... ... ... ... ... ... ... . ... ... ... 7
1.3 IBConsole утилитасы. Серверді тіркеу. Жаңа пайдаланушы құру ... ... 8
1.4 Мәліметтер қорын құру. Қатысушыларға анықтамалық кесте құру...12
2.Арнайы бөлім ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 16
2.1 Есептің қойылу шарты ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 16
2.2 Есептің формальды қойылуы ... ... ... ... ... ... ... ... ... ... ... ... ... .17
2.3 Алгоритмнің жалпы құрылымы ... ... ... ... ... ... ... ... ... ... ... ... . 18
2.4 Есептің орындалу үрдісі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 19
2.4.1 BDE арқылы қол жеткізу. BDE Administrator. Алиас құру ... ... ... ..19
2.4.2 БҚ жай қосымшасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..23
2.4.3 TSession және TDataBase компоненттері ... ... ... ... ... ... ... ... 31
2.4.4 ТDataSET компоненті. Мәліметтер жиынтығымен жұмыс ... ... 33
2.4.5 Өзіндік ену сұхбатын құру ... ... ... ... ... ... ... ... ... ... ... ... .47
2.4.6 Мәліметтер жиынтығын өзгерту. TDataSet класы ... ... ... ... ... ... 53
3. Экономикалық
бөлім ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ...61
3.1 Жобаны экономикалық
бағалау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .61
3.2 Бағдарламалық қамтамасыздандыруды игерудегі экономикалық тиімділікті
есептеу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... 62
4. Еңбекті қорғау және техникалық қауіпсіздіктің негізгі
шаралары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..67
4.1 Еңбек пен демалысты ұйымдастыруда берілетін бірқатар
кеңестер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . ... ... 71
4.2 Мекемені
жарықтандыру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... 72
4.3 Мониторға қойылатын
талаптар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..73
4.4 Бағдарламалаушының жұмыс орнына қойылатын талаптар ... ... ... ... ..76
4.5 Жұмыс орнындағы бағдарламалаушының атқаратын жұмысы ... ... ... 77
4.6 Электр және өрт қауіпсіздігі
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .78
4.7 Жұмыс орнындағы температура, қысым,
ылғалдық ... ... ... ... ... ... ... ... .79
4.8 Төтенше жағдай кезіндегі атқарылатын
жұмыс ... ... ... ... ... ... ... .. ... ... .79
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... 81
Қосымша
А ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... 83
Әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ...90
Кіріспе
Қазіргі кезде Delphi-де мәліметтерге қол жеткізудің бірнеше
механизмдері іске қосылған және әрбір механизмге өзінің компоненттер
жиынтығы сәйкес келеді.
• Borland Data Base Engine (BDE) арқылы қол жеткізу. Бұл жақсы дамыған
механизмдердің бірі, мұнда мәліметтерге қол жеткізу қуатты
бағдарламалық кітапхана қорында құрылған әмбебап интерфейс арқылы
жүзеге асырылады. Өңдеуші локальдық мәліметтер қорымен (Paradox,
FoxPro, Dbase, Access) және сонымен қатар кеңейтілген тізімдегі
қашықтағы InterBase, Oracle,Sulase, Informix, Microsoft SQL сервер және
ДВ2 сияқты серверлермен жұмыс істеуіне болады.
ОДВС- драйвері арқылы қосылу мүмкіншілігі де бар.
BDE-нің кемшілігіне қосымшаны тарату мен инсталляциялаудың күрделі
үрдісін айтуға болады, соған қарамай бұл механизм жиі қолданылады.
Тек соңғы кезде кроссплатформалық өңдеулерге байланысты екінші орынға
түсе бастады. Мәліметтерге қол жеткізу компоненттері BDE палитра
бетінде орналасқан.
• ActiveData Object (ADO) қол жеткізу механизмі мәліметтерге қол
жеткізудің бұл тәсілі Microsoft фирмасының стандарты болып табылады
және арнаулы АDО- драйверінің жиынтығын пайдаланады. АDО
механизміне қатысты мәліметтерге қол жеткізу компоненттері АDО
бетінде орналасқан.
• DBExpress механизмі мәліметтерге қол жеткізудің жеңілдетілген
драйверлер жиынтығына негізделген.
Қол жеткізудің бұл типі анағұрлым жылдам және әмбебап, дегенмен іске
асырылған функциялар жиынтығы бойынша ол аз дамыған. DB2, MySQL, ORACLE
және interBase базаларына қол жеткізуді қамтамасыз етеді. Мәліметтер
қорымен жұмыс істеу компоненттері dbExpress бетінде орналасқан.
• InterBaseExpress (IBX) бұл арнайы InterBase серверімен жұмыс істеуге
арналған компоненттер жиынтығы. Бұл механизм мәліметтер қорына аралық
бағдарламалар тікелей қол жеткізуді пайдаланады. IBX компоненттері
InterBase және InterBase Admin- палитра беттерінде орналасқан.
InterBase Admin- компоненті InterBase серверінің 6.0 версиясынан
жоғарыларымен ғана жұмыс істейді.
Дипломдық жобада берілгендер қорына Borland Data Base Engine (BDE) арқылы
қол жеткізу жолы қарастырылып, қосымша құрылады.
1. Жалпы бөлім
1.1 InterBase локальдік серверін жүктеу
InterBase серверін екі түрде жүктеуге болады: қолмен және
автоматты
түрде. Үнсіз келісім бойынша автоматты түрде жүктелу орындалады.
Бұдан басқа, Windows NT InterBase операциялық ортада әртүрлі статуста
жүктелуі мүмкін –сервис түрінде, қосымша түрінде, ал Windows 9598-де тек
қана қосымша ретінде жүктеледі.
Тәртіпті басқаруға және InterBase құрамындағы статусты жүктеуге
арнайы утилита- InterBase Manager қолданылады. InterBase Server Manager
бас мәзір пунктіндегі InterBase бумасын таңдаңыз(1-сурет).
1-сурет. InterBase Server Manager бадарламасының терзесі
Программаның үстінгі бөлік терезесінде (Startup Mode) жүктеу
тәртібін ауыстырып қосқыш бар.
Жүктеу тәртібін қосарда мына екі ауыстырып қосқыштың
бірін таңдау керек: Automatic (автоматы түрде) және Manual (қолмен ). Root
Directiory (сервердің түпкі каталогы)- программаның келесі аймақ терезесі
. Мұнда сервердің файлын ұстап тұратын директория көрсетілген.
Status аймағы терезенің астыңғы бөлігінде орналасқан. Мұнда
сервердің ағымдық жағдайы, яғни серверді тоқтатуға және жүктеуге болатын
кнопка орналасқан. 1-сурет жіберілген серверге сәйкес келеді, Stop (
тоқтау )оң жақ кнопкаға жазылған, сондықтан жазу статус аймағында The
InterBase Server is currently Running (InterBase сервері жұмыс істейді)
деп жазылады. Stop кнопкасын басқанда сервер тоқтатылады, ал кнопкаға
Start(жүктеу) жазуы енеді. Сонымен қатар Running(жұмыс істейді ) сөзі
Stopped (тоқтатылды) сөзіне ауысады. Status аймағы төменгі терезесінде
Run the InterBase server as a service on Windows NT (Windows NT сервисі
сияқты InterBase серверін жүктеу ) жалаушасы орналасқан. Серверді жіберерде
Start кнопкасын басу керек.
1.2 Сервер жүктелгенін қалай тексеруге болады
Windows 9598 операциялық жүйесінде, InterBase сервері жұмыс істеп
тұрған кезде, оның иконкасы тапсырма панелінің оң жақ бұрышында көрініп
тұрады. Windows NT ортасында сервер қосымша болып жүктелгенге қарағанда,
бұл шынайы. Windows NT-та InterBase сервері қызмет түрінде орнатылса,
онда тапсырмалар панеліндегі иконкалар шығарылмайды. Бұндай жағдайда сервер
жұмыс істеп тұрғанын тексеру үшін тапсырмалар панеліндегі бос орынға тышқан
тетігінің оң жақ батырмасын шертіп, ашылған мәзірдегі Диспетчер задач
... пунктінің Процессы беттерінен ibguard.exe және ihserver.exe-ді
іздейміз. Егер олар жоқ болса, онда сервер жүктелмеген.
1.3 IBConsole утилитасы. Серверді тіркеу. Жаңа пайдаланушы құру
InterBase сервері жұмыс істеп тұрғанына көз жеткізгеннен кейін,
оған қосыламыз. Ол үшін басты мәзірдегі InterBase бумасынан IBConsole
бағдарламасын жүктеу керек (2-сурет).
2-сурет. IBConsole бағдарламасының терезесі
IBConsole - интерактивті тәртіпте SQL сұранысын жүктеуге, мәліметтер қорын
серверде құруға және администрациялауға, конфигурациялық серверге қажетті
барлық операцияларды орындауға арналған InterBase пакетіне енетін
графикалық утилита.
IBConsole бағдарламасының терезесі мынадай элементтерден тұрады:
• Администрациялық сервердегі командаларды қамтитын мәзір.
• Мәзір командаларына тез қатынауға арналған кнопкасы бар, құрал-саймандар
тақтасы.
• IBConsole-да тіркелген, мәліметтер қорын және сервердің иерархиясын
бейнелейтін терезелер қатары.
• Спецификалық ақпараттарды қамтитын, сонымен қатар иерархиялық тізбекте
таңдалған қатарға байланысты әртүрлі әрекеттерді орындауға рұқсат ететін,
жұмыс терезесі.
• Таңдалған сервер және пайдаланушы жайлы ақпаратттарды қамтитын, сонымен
қатар мәзірге қосымша жеңілдіктер беретін жолдық жағдай.
IBConsole бағдарламасында сервермен жұмыс істеу үшін, оған
тіркелу керек. Ол үшін Server Register мәзір пунктін таңдаңыз.
Тірекелудің диалог және серверге қосылу терезесі экранға шығады(3-сурет).
3-сурет. Тіркелудің және қосылудың диалог терзесі
Терезенің жоғарғы бөлімінде Local Server пункті таңдалуы керек.
Пайдаланушының есімін SYSDBA және құпия сөзін masterkey деп енгізіңіз.
Бұл құпия сөз үнсіз келісім бойынша, оны өзгертуге де болады, кез-келген
жағдайда серверде жаңа пайдаланушы құрар кезде, міндетті түрде SYSDBA
атынмен енген дұрыс. Атымен және құпия сөзін енгізгенннен кейін ,терезе 4-
суретте көрсетілгендей болады.
4-сурет. Тіркелгеннен кейінгі IBConsole бағдарламасының терезесі
Егер сол жақ терезеде Local Server тізімінің қатары
таңдалса, серверде орындауға болатын, операциялық тізімі бар кесте жұмыс
терезесінде орналасады. Операцияның орындалуы үшін Action колонкасында
атын екі рет шерту керек. Серверде жаңа пайдаланушы құрайық. Басты
мәзірден Server J User Security... пунктін таңдаңыз немесе User
Security операциясының атын екі рет шертіңіз.
5-сурет. Қауіпсіздік диалог терзесі
Қауіпсіздік диалог терезесінің (5-сурет) төменгі жағында
орналасқан New(Жаңа) кнопкасын шертіңіз және User Name өрісіне STUDENT
атын беріңіз, ал Password және Confirm Passwordөрісіне қалаған құпия
сөзіңізді беріңіз.
Әрине құпия сөзді міндетті түрде ұмытпау керек, өйткені серверде
сақталған мәліметтерге қатынау үшін енгізу керек болады. Apply
кнопкасын шертіңіз, одан кейін қауіпсіздік диалогын жабу үшін Close
батырмасын шертіңіз. Біз STUDENT атты пайдаланушы құрдық. Оны көру үшін
Users пункт қатарын таңдасақ болғаны. Пайдаланушының серверіне сәйкес
тізім, жұмыс терзесінің оң жағында көрсетіледі (6-сурет).
6-сурет. Локалдік серверді пайдаланушы
Серверде айқындалған пайдаланушылар тап осы серверде барлық қорға
қатынай алады, бірақ мәліметтерге қатынау үшін міндетті түрде тағы да
басқа кестелер қорын пайдалануға келісім алу керек. Егерде сізде осы қор
кестесіне қатынай алмасаңыз, мәліметтер қорына қосылудан ештене шықпайды.
Кестеге енетін мәліметтер қорында өзінің қосымша рұқсат етілген жүйесі
бар. Бұл жағдайда, сервердің локальдік версиясын қолданғанда, қосымша
пайдаланушы құруды қажет етпейді –біз қазіргі кезде бар SYSDBA
пайдаланушысымен де жүргізе аламыз.
1.4 Мәліметтер қорын құру. Қатысушыларға анықтамалық кесте құру
Серведе жұмыс істеуге болатын аты алғанннан кейін, мәліметтер қорын құрып
және онда мысал ретінде бір кестені көрсетеміз. Gdb кеңейтілуі бар,
InterBase серверінің мәліметтер қоры файл түрінде беріледі. Жаңа
мәліметтер қорын құру үшін мәзірден Database Create Database пунктін
таңдаймыз. Диалог терезесінде мәліметтер қорын (7-сурет) құрғанда келесі
мәліметтерді енгізу керек:
• Alias өрісіне TUTORIAL мәліметтер қорын енгізіңіз.
• Files кестесінің бірінші қатарына берілгендер қорының толық атын
енгізіңіз d:\ib\tutorial.gdb, ал оның беттердегі өлшемі: 230
Келесі Options кестесінде берілгендер қорының қосымша
мәліметттерін көрсетіңіз:
• Page size(беттер өлшемі)-4096. Бұл мағына үнсіз келісімге арналған.
• Default character set(таңбалар жинағының үнсіз келісімі үшін) қатарынан
WIN 125I тізімінен таңдаңыз. Бұл мәліметтер қорында криллиц таңбалары
бар, жолдық берілгендерді сақтау үшін арналған.
• SQL Dialect енгізіңіз.
ОК батырмасын шертіңіз.
IBConsole бағдарламасы мәліметтер қорының тек файлын құрады, ал
мәліметтер қорында құрылатын каталог қатты дискте болуы керек. Мысалы, бұл
жағдайда d: дискісінде ib папкасы болуы керек, егер жоқ болған жағдайда
мәліметтер қоры құрылмайды, экранға қате хабарламасы шығады(8-сурет).
7-сурет. Мәліметтер қорын құрғандағы диалог терезесі
8-сурет.IBConsole бағдарламасының қате хабарламасы
Мәліметтер қорын құру Database қатарының бөлімінде
бейнеленеді. Егер қатарда TUTORIAL атын ерекшелесек, онда таңдалған
мәліметер қорымен орындауға болатын операция тізімі оң жақ бөлікке
шығады(9-сурет).
9-сурет. Мәліметтер қорын құрғандағы IBConsole бағдарламасының
терезесі
Назар аударыңыз, статустық жолға сервер аты, мәліметтер қорының
аляьсы және пайдаланушы аты енгізіледі.
Мәліметтер қорымен жұмыс істеу үшін пайдаланушы оған қосылуы
керек. IBConsole бағдарламасында осыны оңайрақ істеу үшін , мәліметтер
қорының атын тышқан тетігімен екі рет шертсе болғаны. Берілгендер
құрастырушыларға көрінетіндей етіп, қатар тағыда бір деңгейге ашылады (10-
суреті).
10-сурет. IBConsole терезесі
IBConsole құрамындағы мәліметтер қорынның SQL сұранысымен
Интерактивті жұмыс істеуге, қосымша Interactive SQL құрал-саймандар-
бағдарламасы қамтылады. Оны жүктеу үшін мәзірден Tools Interactive
SQL ... пунктін таңдау керек(11-сурет).
11-сурет. Interactive SQL терезесі
Бұл бағдарламада SQL-сұранысын теруге, орындауға және нәтижесін тез көруге
болады. Сондықтан бұл бағдарлама екі аймаққа бөлінеді: жоғарғы- SQL
сұранысының аймағы және төменгі - нәтиже аймағы.
Бұған дейін кестеге жаңа жазулар қоя отырып, біз person_id өрісінің мәнін
көрсеттік, бірақ бұл дұрыс емес тәсіл: біз үшін бұл санда ешқандай пайдалы
ақпар жоқ. Сонымен қатар, кең ауқымды (глобальный) қормен жұмыс істегенде
ерекше мәнді көрсету барлық кезде мүмкін емес, себебі жазу қоюмен бір
мезетте ондаған, жүздеген қолданушы айналысып отыруы мүмкін. person_id
қойған соңғы мәнді табу мүмкін емес, сондықтан бұл прецессті
автоматтандыру керек. Осы мақсатпен берілгендер қорында арнаулы
обьектілер генераторлар қарастырылған.
2. Арнайы бөлім
2.1 Есептің қойылу шарты
Borland Data Base Engine (BDE) арқылы берілгендерге қол жеткізудің
жолдарымен танысу. Бұл жақсы дамыған механизмдердің бірі, мұнда
мәліметтерге қол жеткізу қуатты бағдарламалық кітапхана қорында құрылған
әмбебап интерфейс арқылы жүзеге асырылады. Өңдеуші локальдық мәліметтер
қорымен (Paradox, FoxPro, Dbase, Access) және сонымен қатар кеңейтілген
тізімдегі қашықтағы InterBase, Oracle,Sulase, Informix, Microsoft SQL
сервер және ДВ2 сияқты серверлермен жұмыс істеуіне болады.
Жобада берілгендерге қатынаудың InterBase сервері арқылы жұмыс
істейтін қосымшасын құру керек. Серверге қосылу үшін диалогты терезе
құру. Берілгендер қорының кестелерімен байланыс жасауды ұйымдастыру.
Формаға баерілгендерді шығару арқылы қолданушыға қолайлы интерфейс құру.
2.2 Есептің формальды қойылуы
2.3 Алгоритмнің жалпы құрылымы
2.4. Есептің орындалу үрдісі
2.4.1 BDE арқылы қол жеткізу. BDE Administrator. Алиас құру
SQL стандартына қосылатын мәліметтер қорынның типі өте көп. Бұл
мәліметтер қорын әр түрлі фирмалар жасайтын болғандықтан, олардың
әрқайсысы (SQL сұраныстарын) мәліметтерді сақтауды және SQL- сұраныстарын
өңдеуді орындайды. Бағдарламалық қамтамасыздандыруды жасайтын адам
мәліметтер қорымен жұмыс істегенде клиенттік қосымша мен мәліметтер қорын
байланыстыратын дайындалған арнаулы бағдарлама –драйверлерді пайдаланды.
Бұл драйвер жүйеге сәйкес SQL- серверінің клиент бөлігімен бірге
орнатылады.
Сонымен, клиент қосымшасы мәліметтер қорына жетуі үшін олар
драйвермен байланысты болуы қажет. Әрбір мәлімет қорының өз аты бар, оны
да көрсету қажет. Мәліметтерге қол жеткізу үшін клиент өзінің жүйелік атын
( оны көбінесе логин деп атайды, ағылшынның Login- кіру кезінде
тіркелу сөзінен шыққан) және паролін енгізеді.
Клиент қосымшасы бір мезгілде бірнеше типті мәліметтер қорымен
жұмыс істеуі мүмкін. Шатаспау үшін Delphi құрастырушылары, мәліметтер
қорының драйверлерімен және қасиеттеріне байланысты барлық функцияларды-
аралық кітапханаға енгізді. Аталған кітапхана мынадай атқа ие Borland
DataBase Engine (BDE) –борландық мәліметтер қоры машинасы. BDE мен
бірге жақсы белгілі мәліметтер қорымен жұмыс істейтін SQL Links
драйверлері алып әкелінеді.
BDE мәліметтерді кеширлеуді өзінің міндетіне алып, SQL типіне
жатпайтын қорды сұрыптайды, жадыны басқарады, SQL- сұраныстарды
генерациялайды, мәліметтер типін түрлендіреді және басқа да көптеген
жұмыс атқарады.
1-суретте мәліметтер қорымен клиенттік қосымша арасындағы барлық
байланыс кескінделген.
БҚ
Алиас1
1
Алиас2
2
Алиас3
3
3
1-сурет. BDE бойынша мәліметтердің қозғалыс схемасы
2 және 3 мәліметтер қоры бір типке жатады, сондықтан оларға қол
жеткізу бір драйвер арқылы орындалады. BDE-нің негізгі ыңғайлылығы, барлық
мәліметтер қорымен байланысты орнатулар клиент қосымшасынан бөлек
тұрады. Бағдарламашыға оларды ойланбай-ақ шартты атын көрсету
жеткілікті, бағдарлама өзі байланысты орнатуларды табады және қосады.
Бұл шарттың аты алиас (ағылшынның alias –бүркеншек ат) деп аталады. Алиас
арқылы жұмыс істегенде қосымшаны бір серверден екінші серверге оңай
ауыстыруға болады, содан кейін тағы бір алиас құрылады, бірақ ол басқа
сервердегі мәліметтер қорымен байланыстырылады, ол бағдарламада ештеңе
өзгертілмейді. SQL тілінің стандартымен үйлесімді болуы қажет. Бұл тәсіл
қосымшаларды түзету SQL- сервердің локальдық версияларында орындалады.
Содан кейін сол сервердің глобальды жүйесіне ауыстырылады. Мұндай
ауыстыру масштабтау деп аталады. Дәл осы үшін Delphi – де InterBase
локальды версиясы қосылған.
Клиенттік қосымшаның бірден бірнеше мәліметтер қорымен, әр түрлі
типтегі, жұмыс істеуі сирек кездеседі. Көп жағдайда бағдарлама бірған
мәліметтер қорымен жұмыс істейді. Бұл жағдай да біздің сызбамыз
кішірейтіліп, былай көрінеді(2-сурет):
Алиас
2- сурет. Мәліметтердің BDE арқылы қозғалысының кішірейген сызбасы
Сонымен, бағдарлама қордан алынған мәліметтер мен манипуляция жасау үшін
бірінші BDE-ні орнату керек: алиас құрып оны мәліметтер қорымен
байланыстыру керек. Delphi құрастырушылары ол үшін арнаулы жұмыс
бағдарламасын - BDE Administrator қарастырған. Негізгі Windows мәзірінен
Пуск Программа Borland Delphi7 BDE Administrator таңдаймыз.
BDE Administrator терезесінің сол жағында мәліметтер қорының тақтайшасы
бар, онда BDE де осы мезете анықталған барлық алиастар көрсетілген (3-
сурет).
3-сурет. BDE Administrator терезесі
Жаңа алиас құрып оны біздің мәліметтер қорымызбен байланыстырамыз.
• ObjectNew командасын таңдаймыз немесе пернетақтадан CTRL-N
батырмаларын тереміз.
• Шығатын тізімнен ( 4-сурет) мәліметтер қоры драйверінің типін
InterBase –таңдаңыз да ОК батырмасын шертеміз.
4-сурет. Драйвер типін таңдау терезесі
Алиас терезесінде үнсіз келісім бойынша InterBase1 атымен жаңа алиас
шығады. Ол ерекшеленіп тұр, сондықтан атын өзгертуімізге болады. Үнсіз
келісім бойынша берілген InterBase1 атының орнына “Tutorial” атын
тереміз.
• бағдарламаның оң жақ терезінде баптау параметрлері бар кесте бар.(5-
сурет) Біздің қорға сәйкес болуы үшін кейбір параметірлерін өзгерту
қажет.
5- сурет. МҚ драйверінің параметрлері
LANGDRIVER- оң жақтағы бос графаны шертеміз және пайда болған тізімнен
Pdox ANSI Cyrillic таңдаймыз. SERVERNAME – бұл жерде локальдық сервер үшін
мәліметтер қорының файл көрсету қажет. Тышқанмен графаның оң жиегін
шертеміз, пайда болған көп нүктелі пернені басамыз. (6- сурет) Сұхбаттан
мәліметтер қоры файлын таңдаймыз, біздің жағдайымызда бұл
d:\ib\Student.gdb7
SERVER NAME IB_SERVER:PATHDATABA ...
6- сурет.Мәліметтер қоры базасын енгізу
USERNAME- перне тақтадан өзіміз берген қолданушы аты – Student-ті
енгіземіз.
• Құрылған баптауды мәзір командасы ObjectApply арқылы сақтаймыз.
Пайда болған сұхбатта Save all edist to TUTORIAL? (TUTORIAL үшін
барлық өзгерісті сақтау керек па?) ОК пернесін басамыз.
• BDE Administrator бағдарламасын мәзірден ObjectExit командасын
таңдап жабамыз.
Біз TUTORIAL алиасын құрдық және ол арқылы құрылған мәліметтер қорымен
байланыс жасай аламыз.
2.4.2 БҚ жай қосымшасы
Delphi7 бағдарламасын іске қосамыз.
Компоненттер палитрасындағы барлық компоненттер тақырып бойынша
беттерге бөлінген . Бұл беттердің кейбіреуінде мәліметтер қорымен жұмыс
істеуге арналған компоненттер орналастырылған.
Назарымызды үшеуіне де салайық (7- сурет):
• Data Access – мәліметтер көзі. Бұл компоненттер жоғарыда
көрсетілген мәліметтер қорына қол жеткізудің барлық типтерінде
қолданылады.
• BDE мәліметтерге Borland DataBase Engine мехенизмі арқылы қол
жеткізуді қамтамасыз ететін компоненттер.
• Data Controls- мәліметтердің өздерімен жұмыс істеуге арналған
компоненттер: Өңдеу, жүру, экранға шығару.
7-сурет. Data Access компоненттерінің беті
Формаға Data Source (мәліметтер көзі) және Query (сұраныс)
компоненттерін орнатамыз. Ол үшін палитрадан оларды кезекпен ерекшелейді
де, форманың клиент бөлігін шертеміз.
Data Controls-қа көшіңіз және формаға DBGrid компонентін орнатамыз. Одан
басқа, Standard бетінен екі перне (Button) қосамыз.
Форма 8-суреттегідей болуы қажет.
8-сурет. Қосымша формасы
Енді компоненттер қасиеттерін баптаумен айналысамыз. Ол үшін
компонентті тышқан батырмасымен шертіп ерекшелеп, одан кейін Object
Inspector кестесіне қасиеттің қажетті мәнін енгізіп немесе оны
тізімнен таңдау керек. Егер обьектілер инспекторы экранда көрінбей
тұрса, оны Ғ11 батырмасы арқылы шақыруға болады.
DatabaseName қасиетінің мәні алиас тізімінен теріледі, ол жолдың оң
жақ шетін шерткенде пайда болады. SQL қасиеті –бұл мәліметтер жиынтығын
қайтаратын сұраныс мәтіні. Оны енгізу үшін SQL графасының оң жағында
шығатын көп нүктелі пернені шертіп мәтіндік редактор терезесінен SQL-
сұраныс енгіземіз:
Select * from STUDENT
Бұл сұраныс STUDENT кестесінің барлық өрістерін таңдауға арналған.
DBGrid1 компоненті
Мән
Қасиет
Data Source 1
Data Source
Келесі қадам барлық жұмыстың дұрыс орындалуын тексеруге мүмкіндік
береді. Query1 компонентінің мәні true- ге тең Active қасиетін
орнатамыз.
User Name -өрісіне қолданушы аты қойылған. Серверге кіру үшін пароль
енгізіземіз. Егер бәрі дұрыс орындалмаса, онда мәліметтер қорына
қосыламыз және кестеде біз өткен тарауда жазған жол пайда
болады.(10- сурет)
9- сурет. Пароль енгізу сұхбат терезесі
10- сурет. МҚ қосылғаннан кейінгі қосымша формасы
Active = false мәнін қайтарамыз.
Енді басқа компоненттерге қасиет береміз.
Компонент Қасиет Мән
Form1 Caption Оқушы анықтамасы
Position PoScreenCenter
Button1 Caption Қосылу
Button2 Caption Шығу
Батырмалар енінің ішіндегі жазулар көрінетіндей етіп, тышқанмен
өзгертеміз.OnClick оқиғасының әдістеме-өңдеушілерін батырмалар үшін
жазамыз. Ол үшін қажетті батырманы екі рет шерту қажет, Delphi бос әдісті
автоматты түрде генерациялайды. Button1 батырмасын екі рет шертіп
OnClick әдісін өңдейміз:
Procedure TForm1. Button1Click (Sender: TObject);
Begin
Query. Active: = true;
Button1.Enabled:=false;
End;
Бұл процедурада екі негізгі амал орындаймыз:
• Query1.Active қасиетін өзгертіп, мәліметтер қорына қосыламыз. Бірінші
жолдың орнына Query1.Open жазу арқылы да осы амалды орындауға
болады.
• Қолданушы активті мәліметтер қорына қосыла алмауы үшін Button1
батырмасының режимін өзгертеміз. Тура осылай Button2 батырмасының
әдісін өңдейміз.
procedure TForm1. Button2Click (Sender: TObject);
Begin
If Query1.Active then Query1.Close;
Application.Terminate;
End;
• Button2 қосымшаны жабу пернесі. Жабу алдында мәліметтер қорымен
біріктіру активті екенін тексереміз.
If Query1.Active then Query1.Close;
Жобаны PROJ3-1 папкасына сақтаймыз.
Бұл жерде proj3-1 prg жобасының файлын атаймыз, unit1 атының
орнына сақтауға uStudent тереміз.
Қосымшаны жүргіземіз және қосылу пернесін басамыз, бағдарлама парольды
енгізуіңізді сұрайды. Парольды енгізіп ОК пернесін басамыз. Мәліметтер
қорына қосылу орындалып Student кестесінің мазмұнын көреміз(11- сурет)
шығу пернесін басамыз.
11- сурет. Қосымша терезесі
Кестеде мәліметтер қоры кестесінің барлық бағандарының бар
екеніне назар аударамыз, бағандардың тақырыптары ретінде олардың аттары
алынған. Күрделі қосымшада бұлай істеуге болмайды орындаушыға PERSON-
ID жазуының кодын білу міндетті емес және тақырыпша аттары аты,
әкесі, тегі болғаны дұрыс.
DBGrid компоненті арқылы осының бәрін орындауға болады.. Тышқан
арқылы DBGrid кестесін ерекшелеймыз. Экранда контексті мәзір пайда болады
(12-сурет), оның бірінші пункті Columns Editor...( бағандар редакторы).
Мәзірдің осы пунктін таңдаймыз.
Ins батырмасын басамыз. Кестеде жаңа жол o-Tcolumn(13-сурет) пайда
болады. Бұл кестенің әрбір жолы DBGrid1 компонентінің бағанына сәйкес және
редактор бағандарды құруға, олардың қасиеттерін өңдеуге және өшіруге
мүмкіндік береді.
12- сурет. DBGrid1 компонентінің контекстік мәзірі
13- сурет. Кестенің баған редакторы
Жолды тышқанды шерту арқылы белгілеймыз де Ғ11 пернесін басамыз. Экранда
баған қасиеттерін өңдеуге болатын Object Inspector терезесі шығады.
Кестенің келесі мәндерін орнатамыз:
• Field Name: МҚ кестесінің Last_Name бағанымен байланысқан өрісінің
аты;
Title тізімін ашамыз, ол үшін Title сөзінің қасындағы белгіні шертеміз.
Қасиет тақырыбының атын өзгертеміз:
• Alignment: тақырыпты түзету- taCenter мәнін орнатамыз;
• Caption: тақырып мәтіні-Tегі;
• Font: тышқанмен көпнүктелі пернені шертіп, шрифт сұхбатында
полужирный деп таңдаймыз.
• Тура осылай тағы үш баған құрамыз да, оларды кесте өрістерімен
байланыстырамыз:
Баған аты МҚ өріс аты
Аты FIRST_NAME
Әкесінің аты MIDDLE_NAME
Дата Start_DATE
Query1 компонентінің Active = true қасиетін қосамыз және форманың,
кестенің, бағанның өлшемдерін терезеге сиятындай етіп өзгертеміз. Осы
өзгертулерден кейін форма келесі түрде көрінеді:
14- сурет. Бағандарды өңдегеннен кейінгі қосымша формасы
Үнсіз келісім бойынша мерзім dd.mm.yy форматында көрсетіледі, егер біз
жыл төрт таңбамен берілсін десек, онда ShortDateFormat айнымалысына мән
беру қажет. OnCreate жағдайының өңдеушісін құрамыз да, келесі мәтінді
тереміз:
ShortDateFormat:=’dd.mm.yyyy’;
2.4.3 TSession және TDataBase компоненттері
Клиент қосымшасының ішінде не болатынын қарастырайық (4.15 сурет)
База
данных
15-сурет. МҚ байланысқан компоненттердің өзара әрекетінің сызбасы
Delphi қосымшалары мәліметтер қорының серверлерімен борландық
мәліметтер қоры машинасы BDE арқылы байланысқан. Мәліметтерге қол
жеткізу функцияларының бәрі BDE байланысының контекстінде орындалады.
Delphi обьектілі – бағытты өңдеу ортасы болғандықтан қол жеткізу
механизмі TSession және TDataBase компоненттері арқылы іске
асырылған.
Қормен BDE арқылы жұмыс істейтін кез келген қосымшада болмағанда
TSession компоненті болады. Бұл компонент қосымшада автоматты түрде
құрылады. Оны тек бағдарлама жұмыс барысында ған пайдалануға болады.
Сонымен қатар, кейбір жағдайларда өңдеуші бағдарламада TSession-ң
қосымша обьектілерін құрып алуына болады. Ол үшін формаға TSession
компонентін BDE бетінен алып қою жеткілікті. Бұл мынадай жағдайларда
қажет болуы мүмкін:
• Қосымша бір мезгілде бір мәліметтер қорында бірнеше сұраныстармен
жұмыс істейді. Әрбір сұраныс бөлек орындалуы қажет.
• Көп ауысымды қосымшалар. Мәліметтер қорымен жұмыс істеу үшін әрбір
потоктың өзінің TSession компоненті болуын талап етеді. TSession
-ның көптеген компоненттері автоматты құрылатын TSession тізімі
арқылы құрылады. TSession барлық жұмыс істейтін МҚ байланысын
басқаруға жауап береді және өзі DataBase МҚ тізімін жетілдіреді.
ТDataBase компоненті жекеленген мәліметтер қорымен біріктіруді басқаруға
мүмкіндік береді. Сонымен, қосымшада бірнеше TSession обьектісі болады,
олардың әрқайсысы бірнеше мәліметтер қорын басқарады. TSession және
TDataBase компоненттері мәліметтер қорына қол жеткізу және байланыс
жасаумен айналысады. Мәліметтермен тікелей жұмыс істейтін бірнеше
арнаулы компоненттер және TDataSET обьектісінің мұрагерлері бар
(TBDEDATASET және TDBDATASET арқылы). Бұл үш компонент Data Access
бетінің Ttable, Tquery және TstoredProc палитрасында көрсетілген.
Мәліметтерді манипуляциялаудың барлығы SQL- сұраныстар арқылы
жасалынады. Бұл сұраныстарды екі үлкен топқа бөлуге болады:
• Мәліметтер жиынтығын қайтаратын сұраныстар. Бұған SELECT типіндегі
таңдау сұраныстары кіреді.
• Мәліметтер жиынтығын қайтармайтын сұраныстар. Бұларға мәліметтерді
өзгертетін –DELETE, INSERT, UPDATE, сонымен қатар DDL- мәліметтерді
анықтау тіл сұраныстары кіреді.
TTable компонентімен жұмыс барысында өңдеуші SQL- сұраныстарын көрмейді.
Тек қана Ttable Name қасиеті ,яғни мәліметтер қоры кестенің аты беріледі.
Бұл компонент әруақытта сұраныс нәтижесін қайтарады.
SELECT * FROM TableName
TQuery компоненті SQL- сұраныстарын береді. Ол мәліметтерді таңдау және
мәліметтерді манипуляциялау сұраныстарымен жұмыс істейді. Ол үшін TQuery
–де екі әдіс бар: Open және ExecSQL. Open әдісі сұраныс мәліметтер
жиынтығын қайтарғанда пайдаланса, ExecSQL –сұраныс мәліметтерді қайтармау
жағдайында пайдаланылады.
TStoredProc компоненті арнайы SQL серверде сақталатын
процедураларды орындауға арналған. Ол үшін бұл компонентте
StoredProcName ( сақталатын процедура аты) және Params (процедура
параметрі) қасиеттері бар.
TStoredProc компоненті жұмыс істейтін сақталатын процедура
мәліметтен жиынтығын қайтарады немесе қайтармайды. Мәліметтер жиынтығын
алу үшін Open әдісі, ал курсорды қайтарылмайтын процедураны орындау үшін
ExecProc әдісі щақырылады.
TTable, TQuery, TStoredProc компоненттері арқылы алынатын мәліметтер
жиынтығы өңделетін де, өңделмейтін де болуы мүмкін. Өңделетін мәліметтер
жиынтығын тірі мәліметтер деп те атайды.
2.4.4 ТDataSET компоненті. Мәліметтер жиынтығымен жұмыс
Мәліметтер қорынан таңдауға сұраныс алған соң SQL сервер арнаулы
уақытша кесте жасайды. Ол кестемен жұмысты Ttable, TQuery, TstoredProc
компоненттері орындайды. Олар TDataSET-тің мұрагерлері болып табылады. Осы
компоненттің мұрагерлернің функционалдығын анықтайтын әдістер мен
қасиеттерді қарастырайық.
Мәліметтер жиынтығын ашу. Мәліметтер жиынтығын жұмысты бастамас
бұрын, оны ашу керек. Оны екі тәсілмен істеуге болады. Active қасиетіне
true мәнін меншіктеу керек немесе Open әдісін орындау керек. Алдыңғы
мысалда мынадай жол бар. Query1 Active:= true; тура осылай . Query1 Open;
деп жазуға болады.
Мәліметтер жиынтығын жабу. Ашу сияқты жабуда Active қасиетіне мән
беріледі, керісінше бұл мән false немесе Close әдісі орындалады. If
Query1.Active then Query Close;
Мәліметтер жиынтығы бойымен қозғалыс (новигация). Жоғарыда айтылғандардың
бәрі сұраныс нәтижесінде SQL сервер мәліметтер жиынтығын жасайтын
жағдайда қатысты айтылған. Ол сұранысты берілген бағандары бар уақытша
кестелерді көрсетеді. Біз бұл кестенің бip ғана бетін активті жазуын
көреміз. Бұл активті жазу көрсеткіші меңзер деп аталады. (16- сурет)
Сирота Вера Анатольевна 1984
16-
сурет. Мәліметтер жиынтығы бойымен қозғалыс
Мәліметтер жиынтығының КЭШ-і қосымшаның басқа обьектілерінде
пайдаланылады. Мысалы, біздің бағдарламада қолданушы экраннан бірнеше
жазудан тұратын кестені көре алады. Бұл кестені салуда деректер
мәліметтер жиынтығының КЭШ-інен алынады. Кестенің барлық мәліметтерімен
жұмыс істеу үшін бізге мәліметтер жиынтығы мен жоғары және төмен
қозғала алуымыз керек (Мұндай қозғалысты новигация деп атайды). Ол үшін
TDataSET обьектісінде келесі әдістер бар:
First меңзерді мәліметтер жиынтығының бірінші жазуына апарады.
Last меңзерді мәліметтер жиынтығының соңғы жазуына апарады.
Prior меңзерді мәліметтер жиынтығының алдыңғы жазуына апарады.
Next меңзерді мәліметтер жиынтығының келесі жазуына апарады.
NoveBy меңзерді берілген санға тең жазуға жылжытады.
Сонымен қатар TDataSET компонентінде типі Boolean екі қасиет бар,
олар мәліметтер жиынтығымен қозғалуда бағытты анықтауға көмектеседі.
BOE true, егер меңзер мәліметтер жиынтығының бірінші жазуында тұрса,
кері жағдайда false.
EOF true, егер меңзер мәліметтер жиынтығының соңғы жазуында тұрса, кері
жағдайда false.
Мысалы, Query1 компоненті үшін әдіс шақыру келесі түрде орындалады:
Query1.Next;
BOE және EOF әдістері функциялар болып табылады, яғни Boolean типті
мәнді қайтарады. EOF функциясын қолданудың мысалы ретінде мәліметтер
жиынтығынан жазуларды таңдауда қарастыруға болады.
While not Query 1 EOF do
Begin
...
Query1.Next;
End;
Жылжу әдістерінің жұмысын қарастырайық. Формаға екі батырма TSpeeButton
екі батырмасын Additional палитрасы бетінен орнатамыз. ( Delphi оларға
үнсіз келісім бойынша SpeeButton1 және SpeeButton2 аттарын меншіктейді).
Батырмаларға сурет орнатамыз. (Clyph қасиеті) Бұл суреттер Delphi-дің
стандартты жиынтығына кіреді және үнсіз келісім бойынша ...Program
Files\Common Files\Borland Shared\ Images\Buttons\.каталогында болады.
arrowld.bmp arrowlu
Екі батырмаға да Enabled= false қасиетін орнатамыз. Енді бұл
батырмалар үшін OnClick өңдеушілерін құрамыз. Ол үшін батырманы екі рет
шертеміз. Delphi бос дайындық әдістерін өзі генерациялайды. Өңделгеннен
кейін бағдарлама файлы төмендегідей болады.
Unit uStudent;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, Db, DBTables, Buttons;
Type
TForm1=class(TForm)
Query1: T Query
DBGrid1: TDBGrid;
Button1: TButton;
DataSource1: T DataSource;
Button2: TButton
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Procedure Button1Click (Sender: TObject);
Procedure Button2Click (Sender: TObject);
Procedure FormCreate (Sender: TObject);
Procedure SpeedButton1Click (Sender: TObject);
Procedure SpeedButton2Click(Sender: TObject);
Private
{Private declarations}
ProcedureCheckPosition;
Public
{ Public declarations }
End;
Var
Form1: TForm;
Implementation
{SR*.DFM}
Procedure TForm. Button1Click (Sender: TObject);
begin
Query1.Active: =true;
Button1. Enabled: = false;
CheckPosition;
End;
Procedure TForm. Button2Click (Sender: TObject);
begin
if Query1.Active then Query1.Close;
Application. Terminate;
End;
Procedure TForm1. FormCreate (Sender: TObject);
begin
ShortDateFormat: =’dd.mm.yyyy’;
End;
Procedure TForm1. CheckPosition;
begin
if Query1.EOF then SpeedButton1. Enabled: = false; else SpeedButton1.
Enabled:=true;
if Query1.BOF then SpeedButton2. Enabled: = false; else SpeedButton2.
Enabled:=true;
end;
Procedure TForm1. SpeedButton1Click (Sender: TObject);
Begin
Query1. Next;
CheckPosition;
End;
Procedure TForm2. SpeedButton2Click (Sender: TObject);
Begin
Query1. Prior;
CheckPosition;
End;
End.
Біз бұл жерде тағы бір әдісті қостық, ол CheckPosition, ол мәліметтер
жиынтығында меңзердің тұрған орнын анықтайды және сәйкес Enabled
батырмасының қасиетін орнатады. BOF және EOF қасиеттерін меңзердің
мәліметтер жиынтығындағы орнын анықтау үшін пайдаландық.
Келесі жағдайларда BOF қасиеті true болады:
• мәліметтер жиынтығы ашылғаннан кейін;
• First әдісі шақырылғаннан кейін;
• Prior әдісін сәтсіз шақырғанда
Келесі жағдайларда EOF қасиеті true болады:
• мәліметтер жиынтығы бос;
• Last әдісі шақырылғаннан кейін;
• Next әдісін сәтсіз шақырғанда.
• Бағдарлама қосып мәліметтер қорына кіргеннен кейін ол келесі түрде
көрінеді(17- сурет).
17- сурет. Жылжу батырмалары мен қосымша терезелер.
Кесте бойымен стрелкалары бар пернелерді басып жоғары және төмен
жылжытамыз. Біз екі навигациялау әдісін қолдандық, бірақ тура осылай First
және Last әдістерімен батырмалар құруға болады. MoveBy әдісі туралы бірер
сөз айта кетейік. Ол меңзерді берілген санға тең жазуларға алға және
артқа жылжытады. Мысалы,
MoveBy (3);
Меңзерді 3 жазуға алға жылжытады. Артқа қарай жылжу үшін параметр таңбасы
теріс болуы керек:
MoveBy(-3);
Мәліметтер жиынтығының өрісі: Кез- келген мәліметтер жиынтығы өрістерден
тұрады, біздің мысалымызда кесте бағандары-өрістер болып келеді. TDataSet
обьектісі реттік номері немесе аты бойынша жеке өрістерді шақыра алады.
Реттік нөмері бойынша шақыру үшін
property Fields( Index : integer);
Fields қасиетінің Тfields типі бар , ол қаситеттердің-
модификаторларын толық иелік етеді. Бұл қасиеттер берілген типті өрістің
мәнін алуға мүмкіндік береді.
AsBCD
AsBoolean
AsCurrency
AsDateTime
AsVariant
Мысалы, 3-ші өрістің жолдық мәнін алу үшін келесі әдісі шақырылады.
Query1.Fields [3]. AsString;
Барлық өріс үшін барлық мадификаторлар шақырыла бермейді. Мысалы,
алфавитті-цифрлы ақпараты бар өріс үшін Asinteger әдісін шақыру мүмкін
емес.
Формаға Tlabel (18-сурет) компонентін қосамыз және CheckPosition әдісін
өңдейміз:
18- сурет. Label1 фамилия шығаруға арналған таңбасы
Procedure TForm1. CheckPosition;
begin
if Query]..EOF then SpeedButtonl.Enabled:=false else
SpeedButtonl.Enabled: =true;
If Queryl.BOF then SpeedButton2.Enabled:=false else
SpeedButton2.Enabled:=true; Labell.Caption:=Queryl.Fields[3].As String; end;
Бағдарламаны қосамыз. Мәліметтер қорына қосылған соң Label1-дің
орнына формада оқушы фамилиясы шығады, ол меңзерді кестемен жылжытқанда
өзгеріп тұрады. Өріс мәліметтер жиынтығындағы бағанның орны бойынша
нөмірленеді. Нөмірлеу 0-ден басталады. Кестеден алып тасталған бағандар
мәліметтер жиынтығында бар. Оны тексеру үшін 3-ші өрістің орнына 0-ді қою
керек.
Label1.Caption:=Query1.Fields[0] AsString;
Query1 компонентінде бағаналар реті кесте құрғандағы реттен
тұрады. DBGrid-ң өзі мәліметтер жиынтығы болғандықтан ол Query1-ден ақпарат
алып, мәліметтер жиынтығын экранға шығарады. (4.10. сурет) Мәліметтерді
баған аты бойынша шақыру үшін келесі функцияны пайдаланамыз:
FunctionFieldBy Name (constFieldName:string): TField;
Бұл функцияның қолданылуы Fields қасиетіне ұқсас. Мысалы, оқушы
фамилиясын алу үшін CheckPosition әдісін келесі түрде өзгертеміз:
Procedure TForm1. CheckPosition;
Begin
if Query1.EOF then SpeedButton1.Enabled: =false; else
SpeedButton1.Enabled:=true;
if Query1.BOF then SpeedButton2.Enabled: =false; else
SpeedButton2.Enabled:=true;
Label1. Caption: =Query1. FieldByName (‘last_name).AsString;
End;
Сонымен қатар TDataSet объектісінің ұрпақтарының бәрінде
Property FieldVales [const.FieldName;string]: Variant; default қасиеті
бар.
Query1 мәліметтер жиынтығы
PERSON_ID FIRST_NAME MIDDLE_NAME LASTE_NAME START_DATE
=================================== =========================
2 Diana hihih
Кожатаева 3-MAY-2000
3 Гульнур Ергалиевна
Иргебаева 3-MAY-2000
4 Айтолкын Усенкуловна
Усенкулова 3-MAY-2000
5 Айсулу Балтаева 3-MAY-2000
6 Мария Сыдыманкызы Сыдыманова 3-MAY-2000
7 Досхан Косайулы Косаев 3-MAY-2000
9 Марат джлжл
Косаев 3-MAY-2000
10 Енлик Казакбайевна
Казакбай 3-MAY-2000
19-сурет. DBGrid-ң мәліметтер жиынтығымен өзара әрекеті
Анықтамадан көрініп тұрғандай бұл үнсіз келісім бойынша алынған
қасиет, яғни өрістің аты бойынша мәлімет алу үшін.
Label1.Caption:= Query [‘last_name’]; деп жазу керек.
Кейде алдын-ала бағандар туралы ештеңе белгісіз мәліметтер
жиынтығымен жұмыс істеуге тура келеді. Field Count қасиеті мәліметтер
жиынтығындағы бағандардың жалпы санын біледі, cондықтан ол арқылы
мәліметтер жиынтығынан өріс алу циклын оңай ұйымдастыруға болады.
Бағдарламаға өрістер туралы ақпаратты көру формасын қосамыз.
Форма биіктігін ұзартамыз да ТButton типінде батырма орнатамыз
(Delphi, оған Button 3-деп ат береді) Оның қасиетін өзгертеміз
Caption=‘өріс...’, Enabled=false; (20- сурет)
20- сурет. Өріс батырмасымен берілген қосымша форма
Жобаға Form2 формасын қосамыз (FileNew Form) оған 2 TListBox
компонентін және ТButton батырмасын қоямыз.
Компонент Қасиет Мән
Form2 Caption Мәліметтер жиынтығ
Position өріс
BorderStyle poScreen Center
Button1 Caption bsDialog
ModatResult шығу
mrOK
Формаға компоненттерді 21-суреттегідей етіп орнатамыз.
21- сурет. Өріспен жұмыс істеуге арналған форма
Жаңа модульді uField.pasдеп сақтаймыз.
Бізге келесі нәтижелерге жету керек:
• Бұл форма экранға шыққанда сол жақ тізімде мәліметтер жиынтығының
өрістерінің аты тұру қажет.
• Сол жақ тізімнен өріс атын ерекшелегеннен кейін, оң жақ тізімде бұл
өріс туралы келесі ақпарат шығу қажет.
- өріс аты;
- өріс типі;
- өріс мәліметтерінің типі;
- мәліметтер өлшемдері;
- мәліметтер жиынтығындағы реттік нөмер;
- өріс өңделді ме немесе жоқ;
Бұл үшін uFields модуліне бірнеше өңдеуішілерді қосамыз. Белгілі бір
объектіге жаңа өңдеуіш қосу үшін бұл объектіні экранда белгілеп, Object
Inspector(F11) шақырамыз. Events бетіне өтеміз және қажетті жағдайда екі
рет шертеміз. Бос әдісті Delphi автоматты түрге генерациялайды.
OnShow өңдеушісін Form2 үшін және OnClick –ті ListBox1 үшін құрамыз.
DB модулін Uses бөліміне қосамыз. Өңдегеннен кейін модуль келесі түрде
болуы қажет:
Unit u Fields;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB;
type
TForm2 – clas(TForm)
ListBox1: TListBox;
ListBox2: TListBox;
Buttonl: TButton;
Procedure FormShow (Sender: TObject); procedure ListBoxlClick (Sender:
TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{SR *.DFM}
procedure TForm2.FormShow (Sender: TObject);
var i: integer;
begin
ListBoxl. Items.Clear;
ListBox2. Items.Clear;
for i:=0 to Forml. Queryl. FieldCount-1 do
ListBoxl. Items. Add (Form. Queryl. Fields [i]. FieldName);
end;
procedure TForm2.ListBoxlClick(Sender: TObject);
var FKind: string;
CField: TField;
begin
if ListBoxl.Itemlndex=-1 then Exit;
ListBox2.Items.Clear;
CField:=Forml.Queryl.FieldByName (ListBoxl.Items[ListBoxl.Itemlndex] );
ListBox2.Items.Add('өріс аты-'+CField.DisplayName);
ListBox2.Items.Add{' өрістің мағынасы -'+CField.DisplayText);
case CField.FieldKind of
fkData: FKind:='МҚ кестесінің өрісі ';
fkCalculated: FKind:='есеп айыратын';
fkLookup: FKind:='өрісті іздеу';
fklnternalCalc: FKind:=’жиынтықтың есеп айырысатын сақтаулы нәтижесі’;
fkAggregate: FKind:='аггрегирированды';
else
FKind:=' өрістін тәуелсіз түрі'; end;
ListBox2.Items.Add ('түр - '+ FKind);
ListBox2.Items.Add ('өрістің типі - '+ FieldTypeNames [CField.DataType]);
ListBox2.Items.Add{'өлшемі (байт) - '+ IntToStr(CField.DataSize));
ListBox2.Items.Add('нөмірі - ' + rntToStrfCField.FieldNo));
if CField.CanHodify then
ListBox2.Items.Add('өңделетін') else
ListBox2.Items.Add:(‘өңделмейтін’);
end;
end.
Келесі формаға өтіп Forml метод енгіземіз OnCIick батырмаға Button3:
procedure TForml.Button3Click(Sender: TObject);
begin
Form2.ShowModal;
end;
Әдіске келесі жолды қосамыз.
Procedure TForm1. Button1Click (Sender: TObject);
Button3.Enabled:=true;
Бағдарламаны құрып, қосамыз. Компиляция кезінде Delphi модульдердің бір-
біріне сілтемесін қосуыңызды ұсынады, сұранысқа сенімді түрде жауап
береміз. Базаға қосылған соң өріс... (22-сурет) батырмасын басамыз.
22- сурет. Кесте өрісінің қасиеттерін көру
Терезенің сол жағында өрістер аттары көрсетілген . Items жолдың
қатарына олар келесі циклде қосылады.
for i:=0 to Forml.Queryl.FieldCount-1 do
ListBoxl.Items.Add (Forml.Query.Fields[i].FieldName);
Оң жақ терезеде таңдалған өріске қатысты мәліметтер шығады. Бұл
жерде TField объектісінің әртүрлі қасиеттері пайдаланылады.
Display Name- қолданушы үшін әрқашан көрінетін өріс аты. Бұл
хабарламалар шығару үшін пайдаланылады. Бұл қасиет тек оқуға арналған. Оны
өзгерткіміз келсе, басқа қасиетті шақырамыз. Display Label-ді өзгерткенде
бірден Display Name-де өзгереді. Display Label-үнсіз келісім бойынша DBGrid
типіндегі мәліметтер қорымен жұмыс істейтін өріс аты.
DisplayText –мәтіндік формадағы өріс мәні.
FieldKind- өріс түрі, өрістің кесте бағаны, есептеу өрісі, іздеу
өрісі, т.с.с. екенін көрсетеді.
DataType – TfieldType өрісі мәліметтерінің типі. Мәтіндік өрнекті
алу үшін DB модулінде FieldType Names: array[TField Type] of String деп
сипатталған.
Өрістің типін сипаттайтын жолдармен инициализацияланған массив берілген.
Біздің мысалымызда FieldType Names[СField DataType] өрнегі жолды типінің
атымен қайтарып береді.
FieldNO- мәліметтер жиынтығындағы 1-ден басталатын өрістің реттік
нөмері.
CanModify- өрістің өңделетінін немесе өңделмейтінін көрсетеді.
TdataSet объектісі мәліметтерді өңдесе, онда оның мәні true және
ReadOney=true. True мәнін әлі өрістің мәнін өзгертуге болатынына кепілдік
бере алмайды. Кейбір өрістердің түрлері мәліметтерді өңдеуге рұқсатын
береді, бірақ өзгертулер енгізуге тыйым салады.
2.4.5 Өзіндік ену сұхбатын құру
Мәліметтер қорымен жұмыс істейтін Delphi- бағдарлама ұзын бір-
бірімен байланысқан компоненттер тізбегінен (шынжыр) тұрады, олардың
негізінде SessionList сессиясының тізімі тұр. Бұл тізімде кемінде бір
сессия болады, ол үнсіз келісім бойынша Session атымен құрылады, және
оның Default деген өз аты бар. Тізбектің басқа шетінде басқа бір
визуалды компонент тұрады (біздің мысалда DBGrid) 23-суреттен компоненттер
көрсеткіштерге сілтемелермен байланысқан емес, сессия аты Session Name
және база аты (алиас) DataBaseName маңызды роль атқарады. Біріктіруді
активтендіргенде ТDataBase шығады
TSession
DataBase
TTable, TQuery
TStaredPrac
TDataSource
23- сурет.SessionName сессиясының аты арқылы компоненттер байланысы
Қосымшаны базамен біріктіргенде не болатындығы бағдарлама өңдеушіге
белгісіз, сондықтан осы үрдістерге толық тоқталамыз.
Қосымшаны жобалауда біз:
• Формаға TDataSource және TQuery компоненттерін қойдық;
• Мәліметтер қоры алиасын, кестені орнаттық;
• TQuery TDataSource-мен байланыстырдық.
TSession компоненті автоматты түрде Dbtables модулін
инициализацияланғанда бағдарламаны қысқаннан кейін бірден құрылды. Егер
‘uses’ секциясында Dbtables модулі болса, онда қосымшада міндетті түрде
TSession объектісі құрылады, оған Delphi ортасында қол жеткізу үшін Session
айнымалысы анықталған. Бұл оъектінің SessionName қасиеті ‘Default’-ке тең
болып орналастырады. SessionList тізімінің мүшесі ретінде Session
құрылады. Session –дағы DataBases тізімінде ешқандай мәліметтер қоры жоқ,
сондықтан DataBasCount=0 компоненттердің бұл мезеттегі байланыс сызбасы
келесі түрде көрсетіледі. (24- сурет)
TTable, TQuery
TStaredPrac
TSession
TDataSource
24- сурет. Инициализацияланғаннан кейінгі компоненттер байланысының
сызбасы
Әзірше TDataBase компоненті жоқ, ал Session және мәліметтерге қол
жеткізу компоненті тек қана SessionName сессия атымен байланысқан. Біз
оны көрсеткен жоқпыз, сондықтан үнсіз келісім бойынша бұл ат Default
деп аталынады .Бағдарламаны қосқан соң Button1 батырмасын басқанда
Query1.Open әдісі шақырылады. DataBases тізімінің ағымдағы сессиясында
осындай атпен мәліметтер қоры бар ма екені тексеріледі. Егер жоқ болса,
DataBase жаңа объектісі құрылады және DataBases тізіміне оған сілтеме
қосылады, кері жағдайды ТDataBase бар объектісі алынады. Енді ТDataBase
объектісінен Open әдісі шақырылады, экранда стандартты ену сұхбатты
шығады. ТDataBase компонентінің Boolean типті LoginPrompt қасиеті ену
сұхбатын шығару қажеттігін көрсетеді. Үнсіз келісім бойынша оның мәні
true. Егер LoginPrompt=false болса, онда қолданушы ТDataBase
объектісіне қолданушы аты мен паролін өзі беру керек, ол үшін оларды
Params тізіміне қойылады. Үнсіз келісім бойынша ТdataBase біріктіру
үрдісінде ғана құрылатын болғандықтан, бірге алдын-ала өз компонентімізді
ТDataBase құрып оны TQuery мен байланыстыру керек. Мұны бағдарлама
орындалу кезінде де, жобалау кезінде де істеуге болады.
Біздің оқу проектімізде осыны орындайық .
Form1 формасына ТDataBase компонентін BDE компоненттер палитрасынан
алып орналастырамыз. Оның қасиеттерін Object Inspector арқылы орнатамыз.
Компонент Қасиет Мән
DataBase1 DataBaseName TUTORIAL
LoginPrompt false
OnClick әдісін Button1 батырмасы үшін өңдейміз.
Procedure TForml.ButtonlClick (Sender: TObject); begin
Databasel.Params.Valuesf ['PASSWORD-' ] := 'silver';
Databasel.Params.Values['USER NAME'] := 'STUDENT';
Queryl.Active:=true;
Buttonl.Enabled:=false;
Button3.Enabled:=true;
CheckPosition;
end;
Компиляциялаймыз және бағдарламаны қосамыз. Енді Session объектісінің
мәліметтер қоры тізімінде TUTORIAL атты қор бар, сондықтан ол
біріктіруді ашқанда пайдаланады. Оның LoginPrompt=false болғандықтан
қолданушы аты мен паролі Params тізімінен алынады, яғни бұл бағдарлама
қолданушыдан ештеңке сұрамайды. Ақпаратты қорғау жағынан қарағанда
мұндай жағдайды болдырмау керек, сондықтан бағдарламаға ат және пароль
енгізетін сұхбат қосамыз. Жобаға жаңа форма қосамыз (FileNewForm). Жаң
формаға TEdit компонентінің екі батырмасын және TLabel ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz