ПОӘК 042-18-12.1.89/03-2013
№ 1 басылым
18.09.2013ж.
40 беттің 18-сі
Сұрыптаудың бағыты - өсу немесе кему бойынша – ixDescending. Үнсіз келісім
бойынша ол қосулы тұрады және сұрыптау өсу ретімен жүреді. Егер индекс сипаты
қосылса, онда сұрыптау кему бойынша жүргізіледі. [3]
3. Жазуларды фильтрлеу, іздеу, модификациялау, редакторлеу, қосу,
өшіру
Деректер жинағы бойынга жылжу оның ағымдағы жазуының бағдршасымен
басқару әдістерінің көмегімен жүргізіледі. Ағымдағы жазудың бағдаршасының
орнын ауыстыру (жылжыту) үшін келесі әдістер қолданылады:
First процедурасы – бірінші жазуға орнату;
Next процедурасы – келесі жазуға орнату; соңғы жазу үшін бағдарша
жылжымайды.
Last процедурасы – соңғы жазуға орнату;
Prior процедурасы – алдыңғы жазуға орнату; бірінші жазу үшін бағдарша
жылжымайды;
MoveBy функциясы – функция параметрімен анықталған жазулар санына
көшу.
Жылжу ағымындағы уақыт мерзімінде деректер жинағында болатын жазулар
бойынша жүргізіледі. Деректер жинағының жазулар саны KecordCovnt қасиеті
бойынша анықталады.
Бағдарша орынын ауыстыру әдістерін қолдану мысалы,
Procedure TForm1. N10Click (Sender: TOject);
Var N: integer;
Begin
ADO Table1. First; // бірінші жазуға
S:=0; // қосындының бастапқы мәні
For i:=1 to ADO Table1.RecordCount do//жазулар нөлдерін таңдау (іріктеу)
Begin
S:=S+ADO Tabel1. RS. Value // ағымдағы қосынды мәні
ADO Table1. Next; //келесі жазуға
End;
Label1. Caption:=’=’ +FloatTostr(S);
Бағдарша орыны сонымен қоса жазуларды іздеу әдістерін де өзгертеді.
Бағдаршаның орнын бақылау үшін RecNo қасиетін пайдалануға болады. Онда
деректер жинағының басынан бастап жазулардың реттік нөмірлері орналасады.
Мысалы: ADOTabel1. RecNo:=Str ToInt(Edit1.Text)
Деректер жинағының соңы мен басын анықтау үшін BOF және EOF логикалық
қасиеттерін қолдануға болады. Қосымшаны орындау кезінде олар оқуға жол ашады.
Қасиет BOF=True, егер бағдарша деректер жинағының соңғы жазуында
орналасса және False-егер соңында емес болса. Бос деректер жинағы үшін екі
қасиеттің де мәні True болады. [12]
Жазуларды фильтрлеу
Фильтрлеу- бұл деректер жинағының жазуларын {берілген} фильтрмен
берілген шектеулермен сәйкес алу (таңдау). Деректер жинағы деректер базасының
бір немесе бірнеше кестелерін таңдалған жазулар болып есептелінеді. Деректер
жинағындағы жазулар құрамы бекітілген шектеулерге тәуелді, мысалы, фильтрге.
ПОӘК 042-18-12.1.89/03-2013
№ 1 басылым
18.09.2013ж.
40 беттің 19-сі
Үнсіз келісім бойынша (фильтрсіз) фильтрлеу жоқ және ADOTable деректер
жинағында деректер базасының онымен байланысқан кестенің барлық жазулары
болады. ADOQuery деректер жинағында SQL қасиетінің SQL- сұранысын
қанағаттандыратын жазулар бар.
Фильтрлер статикалық және динамикалық болады. Статикалық қосымшаны
құру кезінде динамикалықтарды қосымшаны орындау процесінде құруға және
ректрлеуге болады.
Диапазон бойынша фильтрлеуді қолдану және орнату үшін программа
мәтінінің мысалы ұсынылған:
Procedure TForm1.btnFilterClick(Sender : TObject);
Begin
With ADOTable1 do begin
IndexName := ‘indNameGodR’;
// - ағымдағы индексті орнату
SetRangeStart;
// – төменгі шекараны белгілеуді бастау
FieldByName(‘Name’).AsString :=’A’;
// - төменгі шекара Name
FieldByName(‘GodR’).AsString :=Edit1.Text; // - « » GodR
SetRangeEnd;
// – жоғарғы шекараны белгілеуді бастау
FieldByName(‘Name’).AsString :=’Б’; //– жоғарғы шекара
ApplyRange;
// - шектеулерді қабылдау.
End;
End.
Нәтижесінде атаулары «А» және «Б» әріптерінен басталатын, түған жылдары
(GodR) Edit1.Text терезесінде берілген мәннен жоғары болатын жазулар іріктеледі.
Туған жылдаң жоғарғы шекарасы берілмейді.
Жазуларды іздеу
Берілген шартты қанағаттандыратын жазуды іздеу осы жазуға көшуді білдіреді.
Бұны, мысалы, DBStringGrid компонентінде бақылауға болады. Индекстелген
өрістер бойынша іздеу жүргізу жылдамырақ жүреді. Деректерді іздеу үшін
төмендегі әдістер қолданылады:
FindFirst – бірінші келетін мәндә іздеу;
FindLast – соңғы келетін мәнді іздеу
FindNext – келесі келетін мәнді іздеу
FindPrior – ізделінді жазуға сәкес келетін жазуды іздеу
Locate – бір немесе бірнеше өріс бойынша жазуларды іздеу
Lookup – курсордың орнын ауыстырмай табылған жазулардың керекті
өрістерінің мәнін береді.
Іздеу сипаттары әдістер параметрлер тізімінде беріледі. Locate, Lookup
әдістерімен индекстелмеген жазуларға іздеу жүргізеді. Тізбектелген іздеуді
FindNearest, SetNearest, GoToNearest. Осымен қоса іздеу іздеу сипатын енгізу
бойынша жүргізіледі. [17]
Locate функциясының тақырыпшасы:
Function Locate(const KeyFields: String; const KeyValues: Variant; Options:
TlocateOptions ) : Boolean;