U trendu

Visual Basic – ADO i SQL

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 i preko mobilne aplikacije za Android i iPhone.