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