Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6ddc9e41-585f-11e5-884b-f6d299da70eeУМКД_ИСП03.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.67 Mб
Скачать

Структуралы сұраныстар тілі sql

Мысалмен қарастырамыз: Client.db кестесінде сұраныс құру керек болсын.

  1. DataAccess панелінен Form1 қалыбына Tquery компонентін орналастырамыз. Ол Ttable компонентінің онына қолданылады.

  2. Қалыпқа TDBGrid, TdataSource компоненттерін орналастырамыз. Қасиеттері:

  1. TdataSource:Dataset - Query1 мәнін береміз.

  2. Query1 компоненті үшін DataBaseName - Firma1 болсын.

  1. Объектілер инспекторы терезесінде SQL қасиетіндегі “…” батырмасын басамыз. Бұл жолда SQL тіліндегі команданы жазамыз. Мысалы:

А) SELECT ClientsName.Salary FROM Client.db – фамилия мен жалақысы туралы деректер алынсын деп OK батырмасын басамыз.

  1. Query1 компонентінің Active қасиетін True дейміз.

Сұранымды қосымшада құру

Мысалмен қарастырамыз:

  1. Жаңа қосымша құрамыз.

  2. Қалыпта TDBGrid, Tquery, TdataSource компоненттерін орналастырамыз. Олардың қасиеттерін көрсетеміз. Client.db кестесін қолданайық.

  3. Барлық сатып алушы клиенттер шығару керек болсын. Қалыпқа Tbutton компонентін орналастырып “Filter” деп атаймыз. Tedit өрісіне сатып алушы фамилиясын енгізгенде осы клиент үшін барлық деректі торкөз түрінде шығаруы керек болсын. Tquery компонентінің Append қасиетін қолданамыз.

  4. “ Filter” компонентін басу оқиғасына программалық код жазамыз:

Begin

If Edit1.Tet<>’ ‘ then Begin

Query1.Active:=False;

Query1.SQL.Clear;

Query1.SQL.Append(‘select client.db where Name.Like’+’ ’+ Edit1.Text+’ ’);

Query1.Active:=True;

End;

Else Begin

Query1.Active:=False;

Query1.SQL.Clear;

Query1.SQL.Append(‘select * from client.db);

Query1.Active:=True; End; End;

  1. Қосымшаны орындауға жіберіп фамилияны енгізген соң “Filter” батырмасын басамыз.

! Ескерту. Фамилияны жартылай жазуға болады.

! Ескерту. Жаңа сұраным құру үшін Edit1 өрісін тазалап қайтадан “Filter” батырмасын басу керек. Сонда барлық өрістер шығады.

Тапсырмалар:

1. Деректер базасы бір бірімен байланысатын екі немесе одан көп кестелерден тұрсын. Бірнеше кестелер арасында байланыс орнату. Схемасын көрсету.

  1. Деректер базасы бойынша сұраныстардың түрлерін құрып көрсету:

- қарапайым сұраныс құру.

- сұранысты компоненттер көмегімен құру.

- сұраныс құрудың программалық кодын қолдану.

- барлық деректерді қолданып толық нәтижелі сұраныс құру.

6- зертханалық жұмыс.

Кестеде іздеу”(2 сағ.).

Үлкен кестелерден белгілі бір жазуларды таңдау қажет болса оларды алдымен іздеп тауып алған дұрыс. Іздеу операциясы мына әдіспен орындалады:

Function.Locate(const KeyFields: string; const KeyValues: Variant; Options: TlocateOptions) : boolean;

Бұл әдісте параметрлер ретінде өрістер атауралы алынады.

Мысал қарастырайық. Client.db кестесінде іздеу операциясын қолдану керек болсын.

  1. Form1 қалыбында тақырыптары «адам есімі бойынша іздеу», «телефон номері бойынша іздеу», «Адрес бойынша іздеу» болатын үш TradioButton компоненттерін, «Іздеу шарты» деп аталатын Tlabel компонентін, деректерді енгізуге арналған Tedit компонентін, «Іздеу» деп аталатын Tbutton компонентін орналастырамыз.

  2. Locate әдісін қолданамыз. Келесі ретпен жазамыз:

  1. кілттік өріс

  2. іздеуге жататын дерек қайдан алынады

  3. іздеу параметрлері:

а) LoCaseInsensitive – бас әріптер есепке алынбайды

б) LoPartialKey – дербес кілт

  1. «Іздеу» компонентіне программалық код жазамыз:

Var

KeyField:string;

Begin

If RadioButton1.Checked=treu then Begin

KeyField:= ‘ClientName’;

End;

If RadioButton2.Checked=True then begin

KeyField:=’Phone’;

End;

If RadioButton3.Checked=True then begin

KeyField:=’Adress’;

End;

Table1.Locate(KeyField.Edit1.Text, [LoCaseInsensitive.LoPartialKey]);

End;