ActiveX деректер нысандары - ActiveX Data Objects

Жылы есептеу, Microsoft Келіңіздер ActiveX деректер нысандары (ADO) жиынтығынан тұрады Компонент нысаны моделі (COM) нысандар деректер көздеріне қол жеткізу үшін. Бөлігі MDAC (Microsoft Data Access компоненттері), ол а орта бағдарламалық жасақтама арасындағы қабат бағдарламалау тілдері және OLE DB (деректер дүкендеріне қол жеткізу құралы, қарамастан мәліметтер базасы немесе біркелкі емес). ADO мүмкіндік береді әзірлеуші мәліметтер қорының қалай іске асырылатынын білмей, мәліметтерге қол жеткізетін бағдарламалар жазу; әзірлеушілер тек қосылу үшін мәліметтер базасы туралы білуі керек. Туралы білім жоқ SQL ADO-ны пайдалану кезінде дерекқорға қатынасу қажет, бірақ ADO-ны SQL командаларын тікелей орындау үшін қолдана алады (пайдаланылатын мәліметтер базасына тәуелділікті енгізу кемшілігі бар).

Microsoft ADO-ны 1996 жылы қазанда енгізіп, бағдарламалық жасақтаманы деректер көздеріне, соның ішінде Microsoft корпорациясының алдыңғы объектілік қабаттарының ізбасары ретінде орналастырды. RDO (Қашықтағы деректер нысандары) және ДАО (Деректерге қол жеткізу нысандары).

ADO төрт коллекциядан және он екі заттан тұрады.

ADO топтамалары

Өрістер
Бұл жинақ Field объектілерінің жиынтығын қамтиды. Жинақ Recordset объектісінде де, Record нысанында да қолданыла алады. Recordset объектісінде өрістер жиынтығын құрайтын Field объектілерінің әрқайсысы сол Record жиынтығының нысанындағы бағанға сәйкес келеді. Жазба нысанында Өріс ағаштың құрылымын көрсететін абсолютті немесе қатысты URL бола алады аттар кеңістігі (үшін қолданылады жартылай құрылымды мәліметтер Microsoft OLE DB Provider for Internet Publishing) сияқты провайдерлер) немесе сол Record нысанымен байланысты әдепкі Stream объектісіне сілтеме ретінде.
Қасиеттері
Нысанда объектінің Properties жиынтығында болатын бірнеше Properties объектісі болуы мүмкін.
Параметрлер
Command объектісі өзінің алдын-ала анықталған әрекетін өзгерту үшін бірнеше Parameter командаларына ие бола алады және Parameter объектілерінің әрқайсысы Command объектісінің Parameters жиынтығында болады
Қателер
Провайдер жасаған барлық қателер Error объектілерінің жиынтығына беріледі, ал қателер жиынтығы Connection объектісінде болады. ADO операциясы қате жасаған кезде, жинақ жойылады және коллекцияда Error объектілерінің жаңа тобы құрылады.

ADO нысандары

Байланыс
Қосылу нысаны - ADO-ның OLE DB арқылы мәліметтер қоймасына қосылуы. Байланыс нысаны сеанс туралы ақпаратты сақтайды және деректер қоймасына қосылу әдістерін ұсынады. Кейбір деректер қоймаларында байланыс орнатудың әр түрлі әдістері болғандықтан, кейбір OLE DB провайдері үшін қосылым нысанында кейбір әдістерге қолдау көрсетілмеуі мүмкін. Байланыс объектісі «Ашу» әдісі арқылы деректер тізбегіне қосылым жолымен қосылады, ол қосылымды кілт мәндерінің жұптарының тізімі ретінде көрсетеді (мысалы: «Provider = 'SQLOLEDB'; Деректер көзі = 'TheSqlServer'; Бастапқы каталог = 'Northwind'; Кіріктірілген қауіпсіздік = 'SSPI'; «). Бұл қосылым жолының басталуы байланыс объектісі қажет ететін деректерді сақтау қосылымының түрін анықтауы керек:
  • OLE DB провайдері (мысалы, SQLOLEDB), «провайдер =» синтаксисін қолдана отырып;
  • «файл атауы =» синтаксисін қолдана отырып, файл атауы;
  • «Қашықтағы провайдер =» және «Қашықтағы сервер =» синтаксисін қолдана отырып, қашықтағы провайдер мен сервер (RDS қараңыз); немесе
  • «URL =» синтаксисін қолданатын абсолютті URL
Пәрмен
Байланыс объектісі деректер көзіне сеанс орнатқаннан кейін командалық объект арқылы мәліметтер жеткізушіге нұсқаулар жіберіледі. Командалық объект SQL сұрауларын CommandText қасиетін пайдалану арқылы провайдерге тікелей жібере алады, параметрленген сұранысты немесе сақталған процедураны Parameter объектісі немесе Parameters коллекциясы арқылы жібере алады немесе сұранысты іске асырады және нәтижелерді деректер базасының объектісіне қайтарады Орындау әдісі. Command объектісінде басқа объектілерге қатысты бірнеше басқа әдістерді қолдануға болады, мысалы Stream, RecordSet немесе Connection объектілері.
Жазба
Жазбалар жиынтығы - бұл жазбалар тобы, ол не негізгі кестеден, не кестеге сұраныс нәтижесінде келуі мүмкін. RecordSet объектісі өрістер жиынтығы мен Properties жиынын қамтиды. Өрістер жиынтығы - бұл кестенің сәйкес бағандары болып табылатын Өрістер объектілерінің жиынтығы. Properties коллекциясы - бұл OLE DB провайдерінің белгілі бір функционалдығын анықтайтын Property объектілерінің жиынтығы. RecordSet құрамында бар деректерді зерттеудің көптеген әдістері мен қасиеттері бар. Жазбаларды жазбадағы мәндерді өзгертіп, содан кейін Update немесе UpdateBatch әдісін шақыру арқылы жаңартуға болады.
Дереу
Жазба жинағы adLockOptimistic немесе adLockPessimistic құлпы арқылы бұғатталады. Деректер жазба өзгертіліп, Жаңарту әдісі шақырылғаннан кейін деректер көзінде жаңартылады.
Топтама
Жазба жинағы adLockBatchOptimistic көмегімен бұғатталады және жаңарту шақырылған сайын деректер уақытша буферде жаңартылады. Ақырында, UpdateBatch деп аталатын кезде деректер толығымен деректер көзіне жаңартылады. Мұның бәрі жадта жасалатын артықшылығы бар, егер мәселе туындаса, онда UpdateCancel шақырылады және жаңартулар деректер көзіне жіберілмейді.
Транзакция
Егер OLE DB провайдері рұқсат берсе, транзакцияларды пайдалануға болады. Транзакцияны бастау үшін программист BeginTrans әдісін шақырады және қажетті жаңартуларды орындайды. Олардың барлығы аяқталғаннан кейін бағдарламашы CommitTrans әдісін қолданады. RollbackTrans транзакцияға енгізілген кез-келген өзгертулерден бас тарту және мәміле басталғанға дейін дерекқорды күйге қайтару үшін шақырылуы мүмкін.
Жазба
Бұл объект мәліметтер қорындағы бір жазбаны ұсынады және өрістер жиынтығын қамтиды. RecordSet жазба нысандарының жиынтығынан тұрады.
Ағын
Негізінен RecordSet объектісінде қолданылатын ағын байттардың ағындарын оқу мен жазудың құралы болып табылады. Бұл көбінесе жазбалар жиынтығын XML форматында сақтау, CommandText объектісіне балама ретінде OLE DB провайдеріне командалар жіберу және екілік немесе мәтіндік файлдың мазмұнын пайдалану үшін қолданылады.
Параметр
Параметр - бұл жалпы функционалдылықтың әрекетін өзгерту құралы, мысалы, а сақталған процедура не істеу керектігіне байланысты оған берілген әр түрлі параметрлер болуы мүмкін; бұлар параметрленген командалар деп аталады.
Өріс
Әрбір Record объектісі көптеген өрістерден тұрады, ал RecordSet нысанына сәйкес Field объектісі де ие. RecordSet нысанының Field объектісі мәліметтер базасының кестесіндегі бағанға сәйкес келеді.
Меншік
Бұл нысан OLE DB провайдеріне тән және провайдер іске асырған мүмкіндікті анықтайды. Қасиет нысаны кіріктірілген сипат болуы мүмкін - бұл ADO-да жүзеге асырылған, сондықтан оны өзгерту мүмкін емес - анықталған қасиет немесе динамикалық қасиет болуы мүмкін - деректердің негізгі провайдері анықтаған және оны өзгертуге болады
Қате
ADO пайдалану кезінде OLE DB провайдерінің қателігі пайда болған кезде, Error объектісі қателер жиынтығында құрылады. Басқа қателер Қате нысанына енбейді. Мысалы, RecordSet немесе Field объектісіндегі деректермен жұмыс жасау кезінде туындаған кез-келген қателер Status қасиетінде сақталады.

Негізгі пайдалану

ADO көмегімен деректерге қол жеткізу және олармен жұмыс жасау үшін кейбір негізгі қадамдар қажет:

  1. Мәліметтер базасына қосылу үшін байланыс нысанын жасаңыз.
  2. Деректерді қабылдау үшін жазбалар жиынтығының нысанын жасаңыз.
  3. Байланысты ашыңыз
  4. Жазбалар жиынтығын ашып, параметр ретінде қажетті кесте атауын немесе SQL операторын жіберіп толтырыңыз ашық функциясы.
  5. Алынған деректер бойынша барлық қажетті іздеуді / өңдеуді жасаңыз.
  6. Деректерге енгізілген өзгертулерді (егер бар болса) қолдану арқылы жасаңыз Жаңарту немесе UpdateBatch әдістер.
  7. Жазбалар жиынтығын жабыңыз
  8. Байланысты жабыңыз

ASP мысалы

Мұнда ASP мысалы, «Телефон кітапшасы» деп аталатын кестеден «Атау» өрісін таңдау үшін ADO пайдалану, мұнда «Телефон нөмірі» «555-5555» -ке тең.

күңгірт қосылым, myrecordset, аты
орнатылды қосылым = сервер.createobject(«ADODB.Connection»)
орнатылды myrecordset = сервер.createobject(«ADODB.Recordset»)

қосылым.ашық mydatasource
myrecordset.ашық «Телефон кітапшасы», қосылым 
myrecordset.табу «PhoneNumber = '555-5555» «
аты = myrecordset.өрістер.элемент(«Аты»)
myrecordset.жабық

орнатылды myrecordset = ештеңе
орнатылды қосылым = ештеңе

Бұл Recordset нысанының функционалдығының орнына қарапайым SQL қолданатын келесі ASP кодына баламалы:

күңгірт қосылым, myrecordset, аты
орнатылды қосылым = сервер.createobject(«ADODB.connection»)
қосылым.ашық mydatasource
орнатылды myrecordset = қосылым.орындау(«Телефон кітапшасынан атауды телефон нөмірі = '555-5555» таңдаңыз. «)
аты = myrecordset(0)

Бағдарламалық жасақтаманы қолдау

ADO-ға екілік COM интерфейстерімен байланысуды қолдайтын кез-келген әзірлеу тілінде қолдау көрсетіледі. Бұл тілдерге ASP, Delphi, PowerBuilder, және қосымшаларға арналған Visual Basic (VBA). ADO қолдау енді қосылды dBase Plus 8 (ADO көмегімен)

Мұра

ADO.NET ADO-ны C # / .NET C / Win32-ті Windows-тың бағдарламалық жасақтамасын бағыттауға арналған негізгі режиммен алмастырды. ADO.NET ADO-ға сәйкес дизайн үлгісін ұстанады, бұл ADO әзірлеушісіне .NET шеңберіне өту кезінде алға оңай жолды ұсынады.

Сондай-ақ қараңыз

Әдебиеттер тізімі

Сыртқы сілтемелер