Selectarea informațiilor din baza de date

Cele mai multe sisteme de gestionare a bazelor de date vă permit să selectați informațiile corecte prin efectuarea de interogări. Utilizatorul, în conformitate cu anumite reguli, formulează solicitarea, indicând ce criterii trebuie să îndeplinească informațiile de interes pentru el și sistemul afișează înregistrările care satisfac cererea.







Pentru a prelua înregistrări din baza de date care îndeplinesc un anumit criteriu, se utilizează componenta Query a cărei pictogramă se află pe fila Data Access (Acces la date) (a se vedea Figura 17.21).

Fig. 17.21. Pictogramă componentă interogare

Componenta Interogare seamănă mult cu componenta Tabel, dar spre deosebire de cea din urmă, ea nu reprezintă întreaga bază de date (toate înregistrările), ci doar o parte din ea - înregistrări care satisfac interogarea.

În tabel. 17.18 afișează câteva proprietăți ale componentei Interogare.

Tabelul 17.18. Solicitați proprietățile componentei

Tabelul 17.18 (final) Proprietatea Specifică

Activ Dacă setați proprietatea la True, aceasta activează interogarea

Pentru a specifica ce informații vor fi alocate din baza de date ca rezultat al executării interogării, în timpul dezvoltării programului, proprietatea sql trebuie să conțină o interogare pentru datele de eșantionare prezentate în limba SQL.

În general, interogarea de selectare a datelor din tabel arată astfel:

SELECTARE câmpuri din tabelul WHERE

(Criterion) ORDER prin Lista câmpurilor unde:

ordinea este un parametru care specifică o condiție conform căreia înregistrările vor fi ordonate care satisfac criteriul de interogare.

FROM ': Școala: s choo1.db'

(Class = 40a ') ORDER by Name, Fam furnizează un eșantion din baza de date școlară a înregistrărilor care au text în câmpul de clasă 10a, adică formează o listă ordonată în ordine alfabetică a studenților de clasă 10a.

Un alt exemplu. anchetă

(Câștigați "K") și (Câștigați <'Л') ORDER BY Name, Earn обеспечивает выбор информации об учениках, фамилии которых начинаются на букву К.

O interogare poate fi generată și scrisă în proprietatea sql în momentul în care se formează formularul sau în timp ce programul se execută.

Selectarea informațiilor din baza de date

Ris.17.22. Exemplu de interogare la baza de date Scoala







Proprietatea sql este o listă de șiruri de caractere. Prin urmare, pentru a genera o interogare în timp ce programul rulează, trebuie să adăugați LINE (sql-INSTRUCTIONS) la LISTUL sql folosind metoda Add.

Mai jos este o bucată de cod care formează o interogare pentru a căuta informații despre o anumită persoană (criteriul de selecție - conținutul câmpului FIELD trebuie să se potrivească cu valoarea variabilei fam).

cu forml.Queryl nu începe Închidere; // închide fișierul - rezultatul executării

Deschideți; // activați executarea interogării

Următorul program, textul său este afișat în Lista 17.2, iar caseta de dialog - în Fig. 17.23, demonstrează posibilitatea modificării interogării sau, mai degrabă, a criteriului de interogare, în timp ce programul se execută. Programul oferă rezultatele atât a întregii liste de elevi, cât și a unei părți din ele. De exemplu, executând o interogare, sunt afișate numai informații despre un anumit student.

Selectarea informațiilor din baza de date

Fig. 17.23. Formular de aplicare Scoala de baze de date

Listing 17.2. Bază de date Scoala unitate school2_; interfață

tip TForml = clasa (TForm) Tabel: TTable; // tabel - întreaga bază de date

Queryl: TQuery; // query - înregistrări care îndeplinesc criteriile de selecție DataSourcel: TDataSource; // sursă de date - tabel sau interogare DBGridl: TDBGrid; // tabel pentru a afișa baza de date sau

// rezultatul executării interogării DBNavigatorl: TDBNavigator; DBTextl: TDBText; Buttonl: TButton; // butonul Cerere

Button2: TButton; / / Toate înregistrările

var Formul: TForml; punerea în aplicare

// faceți clic pe butonul. Solicită procedura TForml.ButtonlClick (Expeditor: TObject); var fam: șir [30]; Start fam: = InputBox ('Selectați informații din baza de date', 'Specificați numele de familie și faceți clic pe OK.1,'), dacă este vorba despre '' apoi începeți // utilizatorul a introdus ultimul nume cu forml.Queryl să înceapă Close; rezultatul interogării anterioare SQL.Clear; / / ștergeți textul interogării anterioare

// formați o interogare nouă

Deschideți; // activați executarea interogării

dacă Queryl.RecordCount <> 0 apoi DataSourcel.DataSet: = Queryl // afișează rezultatul

altceva incepe ShowMessage ('Nu exista intrari in baza de date care sa satisfaca' +

/ / faceți clic pe butonul Toate înregistrările

procedura TForml.Button2Click (expeditor: TObject); începe DataSourcel.DataSet: = Tablel; // sursă de date - tabel

Procedura TForml.Buttoniciick este pornită dând clic pe butonul Interogare. Este nevoie de un șir (nume de familie) de la utilizator și, prin scrierea (adăugarea) șiruri de caractere la proprietatea sql, generează textul interogării. Apoi, această procedură, apelând metoda deschisă, activează executarea cererii.

Rețineți că înainte de a schimba proprietatea sql, interogarea trebuie închisă folosind metoda Close (rețineți că rezultatul interogării este fișierul de date (tabel) care este creat ca rezultat al executării interogării).

Dacă interogarea este scrisă în proprietatea sql în timpul elaborării formularului de cerere, atunci în timpul funcționării programului criteriul de interogare poate fi modificat prin simpla înlocuire a liniei corespunzătoare a textului interogării.

De exemplu, pentru a interoga:

FROM ": Școala: s choo1.db"

(Class = 40a ') ORDER BY Nume, Fam Instrucțiunea care înlocuiește criteriul de interogare poate fi:

Rețineți că proprietatea sql este o structură tip TStrings în care șirurile sunt numerotate de la zero.







Articole similare

Trimiteți-le prietenilor: