Filtre - Delphi

Previzualizare curs:

Extras din curs:

O necesitate comună a aplicaţiilor de baze de date este filtrarea tabelelor.

Deci de ce filtre? Să considerăm că aţi putea avea un tabel cu o mie de înregistrări, dar doriţi să afişaţi sau să lucraţi cu un sub-set mic al tabelului. Să spunem că aveţi o bază de date care conţine numele şi adresele utilizatorilor de calculator din toată lumea. Compania dumneavoastră vinde aceste adrese şi nume altor companii care vor să trimită reclame prin poştă.

Vreau să comand o listă de adrese de la compania dumanevoastră, dar vreau ca lista să conţină doar numele şi adresele utilizatorilor care locuiesc în Timişoara. Puteţi filtra tabelul după codul poştal şi veţi genera o listă cu numele utilizatorilor care locuiesc în Timişoara. Sau, vă sună cei de la Borland şi doresc o listă cu utilizatorii din Marea Britanie care sunt programamtori de meserie. În acest caz, puteţi filtra după ocupaţie şi ţară, dând astfel numai numele celor de care clientul dumneavoastră este interesat.

Folosirea filtrelor în componenta Table: Filtrele din componenta Table sunt utilizate în două variante: prin proprietatea Filter sau prin evenimentul OnFilterRecord. Înainte de a discuta despre asta, să vorbim puţin despre proprietatea Filtered. Această proprietate determină dacă un tabel este filtrat. Dacă Filtered este setat pe True, tabelul va aplica filtrul curent (fie conţinutul proprietăţii Filter, fie rezultatele evenimentului OnFilterRecord). Dacă Filered este setat pe False, conţinutul proprietăţii Filtered este ignorat şi evenimentul OnFilterRecord nu este generat.

Pentru proprietatea Filter, implementaţi un nume de câmp, un operator logic şi o valoare. Un filtru poate arăta aşa:

Numele=’Pop’

Această instrucţiune spune, de fapt, „Arată-mi toate înregistrările în care numele este „Pop”. Filtrele pot folosi şi cuvinte cheie: AND, OR şi NOT:

Numele=”Pop” AND Data_nasterii< ’1/1/08’

NOTĂ: Numele câmpului şi operatorii logici (AND, OR şi NOT) nu ţin cont de litere mari sau mici. Următoarele două instrucţiuni de filtrare sunt identice:

Namele= ’Pop’ and Data_nasterii< ’1/1/08’

NUMELE= ’Pop’ AND DATA_NASTERII< ’1/1/08’

În cazul căutărilor după text, proprietatea FilterOptions determină dacă şirul de căutare este interpretat ca fiind sensibil la tipul caracterelor.

Următorii operatori pot fi folosiţi în instrucţiunile de filtrare:

Operator Folosire

< Mai mic decât

> Mai mare decât

= Egal cu

<> Diferit de

>= Mai mare sau egal cu

<= Mai mic sau egal cu

() Folosite pentru a specifica ordinea de evaluare a instrucţiunilor compuse

[] Folosite pentru a încadra numele câmpurilor care conţin spaţii

AND, OR, NOT Operatori logici

Filtrarea cu proprietatea Filter: Mai devreme am spus că există două moduri de filtrare a unui tabel. Un mod este de a folosi proprietatea Filter. Pentru asta, tot ce trebuie să faceţi este să scrieţi instrucţiunile de filtrare direct în proprietatea Filter din Object Inspector la momentul creerii unei forme sau să daţi o valoare şir acestei proprietăţi în timpul rulării. În mod natural, trebuie să setaţi proprietatea Filter pe True – activată.

Pentru a înţelege ceea ce spuneam, faceţi următorul exerciţiu. Mai întâi, stabiliţi componentele de bază:

1. Plasaţi pe formă o componentă Table din paleta de componente BDE, una DataSource şi una DBGrid.

2. Apăsaţi pe componenta Table şi schimbaţi-i proprietatea Database pe DBDEMOS, proprietatea TableName pe ORDERS.DB şi proprietatea Active pe True.

3. Apăsaţi pe componenta DataSource şi schimbaţi proprietatea DataSet pe Table1.

4. Apăsaţi pe componenta DBGrid şi schimbaţi-i proprietatea DataSource pe DataSource1. Dimensionaţi DBGrid după dorinţă.

La acest punct trebuie să aveţi un tabel cu date în el. Puteţi continua acum cu sarcina de filtrare a tabelelor.

5. Scrieţi următoarele în coloana Value lângă proprietatea Filter (la proprietăţile lui Table):

CustNo=1384

6. Setaţi proprietatea Filterd pe True.

Acum tabelul ar trebui să arate numai comenzile clientului 1384. Exersaţi puţin instrucţiunile de filtrare şi observaţi schimbările din tabel de fiecare dată când schimbaţi instrucţiunea folosită. Încercaţi următoarele:

CustNo=1510

CustNo=1384 and ShipDate < ’1.1.94’

CustNo=1384 and ShipDate > ’1.1.94’

OrderNo>1100 and OrderNo<1125

De aici nu se verifică

Aici faceţi schimbări filtrelor la momentul creerii, dar este mai probabil ca ....

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Filtre - Delphi.docx
Alte informații:
Tipuri fișiere:
docx
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
8 pagini
Imagini extrase:
8 imagini
Nr cuvinte:
2 466 cuvinte
Nr caractere:
13 238 caractere
Marime:
181.40KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Profesorului:
Boldea Maria
Sus!