Do sada smo prošli pristup i pretraživanje (filtriranje) podataka iz tabela preko ADO modela, a sada prelazimo na složenije pretrage – one uz pomoć upitnog SQL jezika. Sam Recordset možemo kreirati i uz pomoć SQL-a, tj. u metodi Open umesto tabele iz koje uzimamo podatke, možemo navesti SQL naredbu koja će odrediti koji se podaci izuzimaju. U ovom slučaju će SQL instrukcija biti filter. Kao što već sigurno znate, SQL-om možemo i brisati, menjati i dodavati nove podatke.
Osnovna sintaksa SELECT naredbe je sledeća:
SELECT polje1, polje2…
FROM tabela
WHERE uslovi ;
Dalje nećemo detaljnije ulaziti u objašnjavanje sintakse samog SQL-a, pošto u ovoj rubrici možete u SQL prilozima pronaći mnogo više o SQL jeziku. Da se vratimo na bazu „Northwind“ i primenimo jedan SQL upit. Upit ćemo izvršiti nad poznatom tabelom Products:
Rs.Open „SELECT *
FROM Products
WHERE UnitPrice < 20", veza
Ovim upitom iz tabele „Products“ izdvajamo sve slogove (proizvode) koji u polju „Unitprice“ imaju vrednost manju od dvadeset, i te slogove smeštamo u Recordset.
Pored selekcije podataka preko ADO-a i SQL-a, možemo izvršavati i upite akcionog tipa. Recimo, možemo brisati polja u određenim slogovima tabele koji zadovoljavaju određeni kriterijum. U ovakvim slučajevima SQL naredba ne vraća Recordset:
veza.EXECUTE „DELETE UnitPrice
FROM Products
WHERE ProductName LIKE ‘*mix*’ „, veza
Na sličan način funkcioniše i naredba UPDATE, koja menja vrednosti u tabeli i gde opet nemamo Recordset kao rezultat:
veza.EXECUTE „UPDATE Products
SET UnitPrice = 0
WHERE UnitPrice = 90“
Prethodnom naredbom prepravljamo cene proizvoda na nulu, i to kod onih proizvoda čija je dotadašnja cena bila 90.
Pratite Krstaricu na www.krstarica.com