1. Peserta memahami perintah-perintah Query Tingkat lanjut 2. Peserta mampu melakukan perhitungan dengan menggunakan query 3. Peserta mampu membuat parameter dalam query 4. Peserta mampu membuat program manipulasi data dengan query
Database / Stuctured Query Language
ARSys Software Developed/AbdRohim 56 Database Explorer (SQL Explorer)
Delphi telah menyediakan fasilitas dan sarana untuk membangun database yang lebih memadai. Salah satu fasilitas tersebut adalah Database Explorer. Dengan Database Explorer yang akan memudahkan kita dalam mengatur dan mengorganisir objek-objek dalam database.
Database Explorer ini sangat mirip dengan Window Explorer dan memang ini dirancang demikian oleh delphinya sendiri. Banyak fasilitas yang bisa kita gunkan untuk database ini, namun pada kesempatan ini akan dibahas bagaimana menjalankan perintah-perintah SQL.
Sebenarnya pada modul sebelumnya telah dibuat program untuk menjalankan perintah-perintah SQL namun program tersebut masih sangat sederhana.
Memanggil SQL Explorer 1. Jika sekarang berada di Desktop Windows . Klik Menu Start | Programs | Borland delphi 3 | Database Explorer 2. Jika sekarang ada dilingkungan IDE Delphi. Klik menu Database | Explorer.
Tampilan pertama akan tampak sbb:
sebagai latihan kita akan menggunakan database demos yang disediakan oleh delphi. Dalam Database demos tersebut terdapat banyak tabel yang saling terkait satu sama lainnya. Selain itu dalam database ini terdapat data-data yang bisa dimanipulasi untuk dijadikan contoh pada praktikum kali ini.
Database / Stuctured Query Language
ARSys Software Developed/AbdRohim 57 Double klik DBDEMOS dan klik page Enter SQL sehingga tampak sbb:
besarkanlah ukuran windownya sehingga ukuran maximize. Cobalah berikut ini (Perhatikan pada gambar dibawah): 1. Tuliskan SELECT * FROM Items 2. Jalankan SQLnya
Tuliskanlah perintah-perintah SQL sbb dan jalankan dengan tombol amatilah setiap hasil eksekusi dibagian bawah. 1. SELECT OrderNo, ItemNo, PartNo, Qty, Discount FROM Items 2. SELECT DISTINCT * FROM Items 3. SELECT * FROM Items WHERE Qty >=10 4. SELECT OrderNo, ItemNo, PartNo FROM Items WHERE Qty >=10 5. SELECT OrderNo, ItemNo, PartNo FROM Items WHERE Qty >=5 and Qty <=10 6. SELECT * FROM Country 7. SELECT * FROM Country WHERE Name LIKE 'A%' 8. SELECT * FROM Country WHERE Name LIKE '%a' 9. SELECT * FROM Country WHERE Name LIKE '%ua%' 10. SELECT DISTINCT Name, Continent FROM Country 11. SELECT DISTINCT Continent FROM Country 12. SELECT * FROM Country ORDER BY Capital 13. SELECT * FROM Country ORDER BY Capital DESC 14. SELECT * FROM Country ORDER BY Continent, Name 15. SELECT * FROM Country ORDER BY Continent, Name DESC 2 1 Database / Stuctured Query Language
ARSys Software Developed/AbdRohim 58 16. SELECT * FROM Orders WHERE CustNo >1500 ORDER BY CustNo 17. SELECT * FROM Orders WHERE ShipDate > '01/01/1988' ORDER BY CustNo 18. SELECT * FROM Orders WHERE OrderNo >1000 AND OrderNo < 1010 ORDER BY OrderNO 19. SELECT Continent FROM Country GROUP BY Continent 20. SELECT PartNo FROM Items GROUP BY PartNo 21. SELECT * FROM Parts 22. SELECT * FROM Vendors 23. SELECT * FROM Parts a, Vendors b WHERE a.VendorNO=b.VendorNo ORDER BY Description 24. SELECT a.PartNo, a.Description, b.VendorNo, b.VendorName FROM Parts a, Vendors b WHERE a.VendorNO=b.VendorNo ORDER BY Description 25. SELECT CustNo, SUM(AmountPaid) as TotalBayar FROM Orders GROUP BY CustNo 26. SELECT AVG(AmountPaid) as RataBayar FROM Orders 27. SELECT MIN(AmountPaid) as RataBayar FROM Orders 28. SELECT Min(AmountPaid) as RataBayar FROM Orders 29. SELECT CustNo, COUNT(AmountPaid) as Jumlah FROM Orders GROUP BY CustNo
SQL Berparameter
Untuk meningkatkan pleksibitas terhadap query delphi menyediakan apa yang disebut dengan query berparameter atau Parameterize Query. Contoh dari query berparamener ini bisa dilihat pada bagian atas no. 7, 8, 9. untuk lebih jelasnya, akan dibuat sebuah program yang akan menerima sebuah masukan yang akan dijadikan sebuah parameter untuk menampilkan data tabelnya. Buatlah program sbb:
Database / Stuctured Query Language
ARSys Software Developed/AbdRohim 59 Lakukan hal hal berikut ini. 1. Bukalah project baru 2. Tempatkan pada form tersebut 1 Query, 1 DataSource, 2 Button, 1 DBGrid, 1 Label, ComboBox, dan 1 BitBtn 3. Simpanlah project tersebut dengan nama Unit= QueryParam, nama Project = Parameter 4. Isikan nilai-nilai pada properti sbb: Komponen Properti Nilai Form1 Caption Name Position Query Berparameter FmQueryParam poScreenCenter Query1 Database Name DBDEMOS qrParam DataSource1 DataSet Name QrParam dsParam DBGrid1 DataSource dsParam Label1 Caption Nama Negara ComboBox1 Name cbNamaNegara Button1 Caption Name &Filter btnFilter Button1 Caption Name &Default btnDefault BitBtn1 Kind bkClose
5. Tuliskan program ini pada event onCreate pada Form.
procedure TfmQueryParam.FormCreate(Sender: TObject); var i : byte; begin cbNamaNegara.Items.Add('Semua'); for i:=0 to 25 do cbNamaNegara.Items.Add( FORMAT('%s%',[CHAR (i +65)])); cbNamaNegara.ItemIndex :=0; end;
6. Tekan tombol F12 untuk kembali ke tampilan form. Double klik pada button Filter. Tuliskan program berikut ini.
procedure TfmQueryParam.btnFilterClick(Sender: TObject); var str : string; begin str := 'SELECT * FROM Country'; if cbNamaNegara.text <> 'Semua' then begin str := str + ' WHERE Name LIKE "%s"'; str := Format (str, [cbNamaNegara.text]); end; qrParam.Close; qrParam.SQL.Clear; qrParam.SQL.Add(str); qrParam.open; end;
Database / Stuctured Query Language
ARSys Software Developed/AbdRohim 60 7. Tekan tombol F12 untuk kembali ke tampilan form. Double klik pada button Default. Tuliskan program berikut ini.
procedure TfmQueryParam.btnDefaultClick(Sender: TObject); begin qrParam.Close; qrParam.SQL.Clear; qrParam.SQL.Add('SELECT * FROM Country'); qrParam.open; end;
8. Simpan kembali programnya. 9. Jalankanlah programnya.
Memanipulasi Data di SQL
Manipulasi data biasanya berhubungan dengan menambah data, menghapus data, dan mengganti data yang udah ada. Perintah perintah di SQL yang berhubungan dengan itu adalah INSERT, DELETE, dan UPDATE. Struktur penulisan perintah ini telah dibahas pada modul sebelumnya.
Kali ini akan dibuat program untuk memanipulasi sebuah tabel dengan memampaatkan parameter query. Buatlah program seperti berikut ini.