SQL Structured Query Language Dengan Delphi Oleh Andri

  • Slides: 55
Download presentation
SQL (Structured Query Language) Dengan Delphi Oleh : Andri Heryandi, ST

SQL (Structured Query Language) Dengan Delphi Oleh : Andri Heryandi, ST

What is SQL n n SQL kependekan dari Structured Query Language SQL digunakan sebagai

What is SQL n n SQL kependekan dari Structured Query Language SQL digunakan sebagai bahasa komunikasi dengan sebuah database (server database) SQL yang akan diterangkan dalam perkuliahan ini adalah SQL yang didukung oleh BDE. Untuk SQL yang lebih lanjut, dianjurkan untuk mempelajari SQL milik SQL Server, My. SQL, Oracle, Interbase, Postgre. SQL dan server-server database lain.

Jenis-Jenis perintah SQL n n DDL (Data Definition Language) Perintah DDL digunakan untuk membuat

Jenis-Jenis perintah SQL n n DDL (Data Definition Language) Perintah DDL digunakan untuk membuat definisi data seperti membuat struktur tabel (create table), membuat index (create index), mengganti struktur tabel (alter table) atau menghapus index (drop table). DML (Data Manipulation Language) DML digunakan untuk melakukan akses terhadap data seperti mengambilan data (select), penambahan (insert), penghapusan (delete), pembaruan (update). Referensi SQL yang didukung oleh BDE

DDL n n Di perkuliahan Delphi, tidak akan diterangkan mengenai DDL. Diasumsikan bahwa struktur

DDL n n Di perkuliahan Delphi, tidak akan diterangkan mengenai DDL. Diasumsikan bahwa struktur tabel yang akan diakses oleh SQL telah tersedia. DDL akan anda dapatkan di perkuliahan Basis Data dan Praktikum Basis Data

DML n n Perintah Select Digunakan untuk mengambil data dari database. Perintah Insert Digunakan

DML n n Perintah Select Digunakan untuk mengambil data dari database. Perintah Insert Digunakan untuk menyisipkan record baru ke suatu tabel yang ada dalam database Perintah Update Mengupdate/Edit data yang ada di suatu tabel Perintah Delete Menghapus data yang ada di suatu tabel

Contoh Database n Gunakan tabel-tabel berikut untuk belajar memanipulasi data dengan menggunakan SQL. File

Contoh Database n Gunakan tabel-tabel berikut untuk belajar memanipulasi data dengan menggunakan SQL. File Contoh Database ada dalam file Contoh Database. zip

Skema Relasi Pada Contoh Database

Skema Relasi Pada Contoh Database

Membuat Program SQL Commander n n Buat aplikasi baru. Ganti properti Form 1 q

Membuat Program SQL Commander n n Buat aplikasi baru. Ganti properti Form 1 q q n n Name : FSQL Caption: SQL Commander Simpan form dengan nama file u. FSQL. pas Simpan project dengan nama SQLCommander. dpr

Membuat Program SQL Commander n Tempatkan sebuah komponen Query yang ada di tab BDE

Membuat Program SQL Commander n Tempatkan sebuah komponen Query yang ada di tab BDE ke Form q q q n q q Data. Source : Data. Source 1 Name Items : Memo. SQL : (Kosongkan) Tempatkan sebuah komponen Bit. Btn q q n : Query 1 : Data. Source 1 Tempatkan sebuah komponen Memo q n Data. Set Name Tempatkan sebuah komponen DBGrid q n : [Kosongkan] atau isi alias : Query 1 : False Tempatkan sebuah komponen Data. Source ke Form q n Database. Name Active Name Caption : TBuka. SQL : Buka SQL Tempatkan sebuah komponen Bit. Btn q q Name Caption : TEksekusi. SQL : Eksekusi SQL

Layout SQL Commander

Layout SQL Commander

Event on. Click di TBuka. SQL procedure TFSQL. TBuka. SQLClick(Sender: TObject); begin if Query

Event on. Click di TBuka. SQL procedure TFSQL. TBuka. SQLClick(Sender: TObject); begin if Query 1. Active then // Jika Query 1 sedang aktif maka Query 1. Close; // Tutup Query 1. Identik dengan Active: =False; Query 1. SQL: =Memo. SQL. Lines; // Isi SQL di Query 1 dari Memo. SQL try Query 1. Open; // Buka Query 1. Identik dengan Active: =True; // Perintah Open hanya dilakukan jika isi SQL adalah perintah Select Showmessage('Ditemukan '+Int. To. Str(Query 1. Record. Count)+' Record'); except on E: Exception do Message. Dlg('SQL salah, dengan pesan'+#13+E. Message, mt. Error, [mb. OK], 0); end;

Event on. Click di TEksekusi. SQL procedure TFSQL. TEksekusi. SQLClick(Sender: TObject); begin if Query

Event on. Click di TEksekusi. SQL procedure TFSQL. TEksekusi. SQLClick(Sender: TObject); begin if Query 1. Active then // Jika Query 1 sedang aktif maka Query 1. Close; // Tutup Query 1. Identik dengan Active: =False; Query 1. SQL: =Memo. SQL. Lines; // Isi SQL di Query 1 dengan isi dari Memo. SQL try Query 1. Exec. SQL; // Buka Query 1. Identik dengan Active: =True; // Perintah Exec. SQL dilakukan jika melakukan operasi Insert, Update, Delete if Query 1. Rows. Affected>0 then Showmessage('Data berubah ada'+Int. To. Str(Query 1. Rows. Affected)+' Record') else Showmessage('Tidak ada data yang berubah oleh SQL tadi'); except on E: Exception do Message. Dlg('SQL salah, dengan pesan'+#13+E. Message, mt. Error, [mb. OK], 0); end;

Save, Compile and Run the SQLCommander n n n Simpan Semua File (File Save

Save, Compile and Run the SQLCommander n n n Simpan Semua File (File Save All) Compile atau Run program. Jika telah berhasil di Run, tutup delphi dan jalankan aplikasi dengan mengklik file SQLCommander. exe di folder anda (Jalankan di luar Delphi).

Perintah Select n n Select digunakan untuk mengambil seluruh field, sebagian field dari satu

Perintah Select n n Select digunakan untuk mengambil seluruh field, sebagian field dari satu atau banyak tabel yang berelasi. Struktur dasar perintah select adalah : SELECT [ DISTINCT ] * | daftar_field FROM nama_tabel [WHERE daftar_kondisi_where] [ORDER BY daftar_field_pengurutan] [GROUP BY dafar_field_group] [HAVING kondisi_having] Catatan : Perintah yang diapit [ ] boleh tidak dicantumkan (tidak wajib ada) Perintah * | daftar_field berarti boleh semua (*) atau (|) field tertentu saja yang ada dalam daftar_field

Contoh Perintah Select 1 tabel n Select * from employee q n Select First.

Contoh Perintah Select 1 tabel n Select * from employee q n Select First. Name, Lastname, Salary from Employee order by salary q n Tampilkan hanya field First. Name, Last. Name dan Salary dari tabel Employee, dengan data terurut berdasarkan Salary secara ascending (kalau tidak disebut = ascending) Select First. Name, Lastname, Salary from Employee order by salary desc q n Tampilkan semua (*) field dari tabel employee Tampilkan hanya field First. Name, Last. Name dan Salary dari tabel Employee, dengan data terurut berdasarkan Salary secara ascending (kalau tidak disebut = ascending) Select (First. Name||' '|| Lastname) as Nama_Lengkap, Salary from Employee order by Nama_Lengkap q Tampilkan Nama_Lengkap (gabungan First. Name+’ ‘+Last. Name)) kemudian diurutkan berdasarkan nama lengkapnya. Perintah as digunakan untuk memberi nama lain ke suatu field.

Contoh Perintah Select 1 tabel n n select min(salary) as Gaji_Terkecil, max(salary) as Gaji_Terbesar,

Contoh Perintah Select 1 tabel n n select min(salary) as Gaji_Terkecil, max(salary) as Gaji_Terbesar, avg(salary) as Rata_Gaji, sum(salary) as Total_Gaji, Count(*) as Banyak_Record from employee q Tampilkan Gaji terkecil [min(salary)], gaji terbesar [max(salary)], Rata-rata Gaji [avg(salary)], dan jumlah semua salary [sum(salary)], serta banyak record [count(*)] dari tabel Employee. select * from customer where Cust. No=1221 q Tampilkan semua field dari tabel Customer yang field Cust. No-nya adalah 1221 select * from parts where Description like 'Regulator%‘ q Tampilkan semua field dari tabel parts yang dalam field Description diawali dengan kata Regulator select * from parts where Description like ‘%Regulator‘ q Tampilkan semua field dari tabel parts yang dalam field Description diakhiri dengan kata Regulator

Contoh Perintah Select 1 tabel n select upper(First. Name), lower(Last. Name), Sub. String(First. Name

Contoh Perintah Select 1 tabel n select upper(First. Name), lower(Last. Name), Sub. String(First. Name from 1 for 3)as Tiga_Huruf_Pertama from Employee q n select * from vendors where Fax is null q n Tampilkan First. Name dalam bentuk kapital, Lastname dalam bentuk huruf kecil dan 3 Huruf pertama dari nama depan. Tampilkan semua field dari tabel vendors yang field Fax belum diisi (yang kosong/is null). select * from vendors where Fax is not null q Tampilkan semua field dari tabel vendors yang field Fax telah diisi (is not null)

Contoh Perintah Select 1 tabel n select Order. No from Orders where Extract(Year from

Contoh Perintah Select 1 tabel n select Order. No from Orders where Extract(Year from Saledate)=1988 and Extract(MONTH from Saledate)=5 q n select Order. No, saledate from Orders where Extract(Year from Saledate)=1988 and (Extract(month from saledate)=4 or extract(month from saledate)=8) q n Tampilkan field Order. No dan Saledate dari tabel Orders yang tahun dari field Sale. Date (Year from Saledate) adalah 1988 dan bulan dari field Saledate (month from Saledate) adalah 4 (april) atau 8 (agustus). select * from employee where salary between 10000 and 40000 q n Tampilkan hanya field Order. No dari tabel Orders yang tahun dari field Sale. Date (Year from Saledate) adalah 1988 dan bulan dari field Saledate (month from Saledate) adalah 5 (mei). Tampilkan semua field dari tabel employee yang salarynya antara 10000 - 40000 select * from employee where salary not between 10000 and 40000 q Tampilkan semua field dari tabel employee yang salarynya diluar (not between) antara 10000 - 40000

Contoh Perintah Select 1 tabel n select * from parts where Vendor. No in

Contoh Perintah Select 1 tabel n select * from parts where Vendor. No in (3511, 2014, 7382) q n select * from parts where Vendor. No not in (3511, 2014, 7382) q n Tampilkan semua field dari tabel parts yang vendor. No ada dalam himpunan (3511, 2014, 7382) Tampilkan semua field dari tabel parts yang vendor. No tidak ada dalam himpunan (3511, 2014, 7382) select * from employee where salary=(select max(salary)from employee) q Tampilkan semua field dari tabel employee yang salarynya sama dengan salary paling besar [max(salary)] dari tabel employee

Contoh Perintah Select 1 tabel dengan Fungsi Agregasi n n n Select Vendor. No,

Contoh Perintah Select 1 tabel dengan Fungsi Agregasi n n n Select Vendor. No, Count(*) from Parts group by Vendor. No q Perintah di atas berguna untuk menampilkan banyak record barang (Count(*)) yang ada di tabel Parts dimana pengelompokkan datanya (group by) didasarkan pada field Vendor. No select Payment. Method, Sum(Amount. Paid) as Total, Count(*) as Banyak_Record from Orders group by Payment. Method order by Total q Tampilkan jumlah field Amount. Paid dan Banyak_Recordnya yang berasal dari tabel Order dimana data dikelompokkan/digroupkan berdasarkan field Payment. Method dan diurutkan berdasarkan Total (Sum(Amount. Paid)). select State, City, count(*) as Banyak_Vendor from vendors group by State, City q Tampilkan State, City dan Banyak_Vendor dari tabel Vendors dimana data dikelompokkan berdasarkan State, disubkelompokkan lagi berdasarkan City

Perintah Insert (Menambah Data)

Perintah Insert (Menambah Data)

Perintah Insert (Menambahkan Data) n n INSERT digunakan untuk menambah data baru ke suatu

Perintah Insert (Menambahkan Data) n n INSERT digunakan untuk menambah data baru ke suatu tabel. Struktur dasar perintah INSERT adalah : INSERT INTO nama_tabel [(daftar_field)] VALUES (daftar_isi_field) Catatan : Perintah yang diapit [ ] boleh tidak dicantumkan (tidak wajib ada) Daftar field hanya wajib disertakan ketika ingin menyisipkan data tidak sesuai dengan urutan struktur field, atau hanya ingin mengisi beberapa field saja (tidak semuanya)

Perintah Insert (Menambahkan Data) n insert into Parts values(9999, 3511, 'Aqua Gelas', 10, 35,

Perintah Insert (Menambahkan Data) n insert into Parts values(9999, 3511, 'Aqua Gelas', 10, 35, 1235, 2500) q n Sisipkan record baru ke tabel Parts dimana Part. No=9999, Vendor. No=3511, Description=‘Aqua Gelas’, On. Hand=10, On. Order=35, Cost=1235 dan List. Price=2500. Perhatikan bahwa urutan pengisian nilai sesuai dengan urutan struktur field insert into Parts(Vendor. No, Part. No, Description) values(2674, 9998, 'Nokia 6120 Classic') q Sisipkan record baru hanya pada 3 field saja yaitu Vendor. No=2674, Part. No=9998, Description=‘Nokia 6120 Classic’. Urutan di bagian value harus sesuai dengan urutan daftar field.

Perintah Update (Mengedit Data) n n UPDATE digunakan untuk mengupdate data/record yang ada di

Perintah Update (Mengedit Data) n n UPDATE digunakan untuk mengupdate data/record yang ada di suatu tabel. Struktur dasar perintah UPDATE adalah : UPDATE nama_tabel SET nama_field = nilai_baru [, nama_field = nilai_baru. . . ] [WHERE kriteria_record_yang_akan_diupdate] Catatan : Perintah yang diapit [ ] boleh tidak dicantumkan (tidak wajib ada). Diperbolehkan untuk mengupdate data lebih dari 1 field dalam sebuah query. Perintah where hanya dilakukan jika anda ingin mengupdate record tertentu saja. Jika perintah where tidak dibuat, maka semua record akan berubah sesuai dengan perubahannya

Perintah Update (Mengedit Data) n n n update customer set state=Upper(state), Country=lower(country) q Update

Perintah Update (Mengedit Data) n n n update customer set state=Upper(state), Country=lower(country) q Update tabel customer, isi field state dengan isi field state yang sudah dikapitalkan, isi field country dengan field country yang sudah dihurufkecilkan. Dikarenakan tidak ada perintah where maka perubahan dilakukan ke semua record. update parts set Onhand=100, onorder=0, cost=250000, listprice=400000 where Part. No=9998 q Update tabel parts, update field Onhand, On. Order, Cost, dan List. Price pada record yang Part. No-nya adalah 9998 update parts set On. Order=On. Order+5 where Vendor. No=3511 q Update tabel Parts isi tambah field On. Order dengan 5 Part yang dibeli dari Vendor. No 3511

Perintah Delete (Menghapus Data) n n DELETE digunakan untuk menghapus data/record yang ada di

Perintah Delete (Menghapus Data) n n DELETE digunakan untuk menghapus data/record yang ada di suatu tabel. Struktur dasar perintah DELETE adalah : DELETE FROM nama_table [ WHERE kriteria_record_yang_akan_dihapus ] Catatan : Perintah yang diapit [ ] boleh tidak dicantumkan (tidak wajib ada). Perintah where hanya dilakukan jika anda ingin menghapus record tertentu saja. Jika perintah where tidak dibuat, maka semua record akan dihapus.

Perintah Delete (Menghapus Data) n [TIDAK USAH DICOBA] Delete From Parts q n Delete

Perintah Delete (Menghapus Data) n [TIDAK USAH DICOBA] Delete From Parts q n Delete From Parts where Part. No=9999 q n Hapus semua record dari tabel Parts. Karena tanpa where, maka penghapusan akan berlaku untuk semua record Hapus record yang ada di tabel Parts yang mempunyai isi field Part. No=9999 saja. Delete From Orders where Extract(Year from Sale. Date)=2007 q Hapus record dari tabel Order yang Tahun dari Saledatenya adalah 2007.

Perintah Select ke 2 Tabel dengan menggunakan perintah WHERE n n n select Orders.

Perintah Select ke 2 Tabel dengan menggunakan perintah WHERE n n n select Orders. *, Customer. * from Orders, Customer where Orders. Cust. No=Customer. Cust. No select Orders. Order. No, Orders. Cust. No, Customer. Company from Orders, Customer where Orders. Cust. No=Customer. Cust. No select a. Order. No, a. Cust. No, b. Company from Orders a, Customer b where a. Cust. No=b. Cust. No

Perintah Select ke 2 Tabel dengan menggunakan perintah JOIN n n select Orders. Order.

Perintah Select ke 2 Tabel dengan menggunakan perintah JOIN n n select Orders. Order. No, Orders. Cust. No, Customer. Company from Orders join Customer on (Orders. Cust. No=Customer. Cust. No) select a. Order. No, a. Cust. No, b. Company from Orders a join Customer b on (a. Cust. No=b. Cust. No)

Perintah Select ke Banyak Tabel dengan menggunakan perintah WHERE Untuk membuat select ke banyak

Perintah Select ke Banyak Tabel dengan menggunakan perintah WHERE Untuk membuat select ke banyak tabel sebaiknya harus melihat dulu skema relasi. n select a. Order. No, a. Cust. No, b. Company, a. Emp. No, c. First. Name from Orders a, Customer b, Employee c where a. Cust. No=b. Cust. No and a. Emp. No=c. Emp. No

Perintah Select ke Banyak Tabel dengan menggunakan perintah JOIN Untuk membuat select ke banyak

Perintah Select ke Banyak Tabel dengan menggunakan perintah JOIN Untuk membuat select ke banyak tabel sebaiknya harus melihat dulu skema relasi. n select a. Order. No, a. Cust. No, b. Company, a. Emp. No, c. First. Name from Orders a join Customer b on a. Cust. No=b. Cust. No join Employee c on a. Emp. No=c. Emp. No q Tampilkan Order. No, Cust. No, dan Emp. No dari tabel Orders (a), Company dari tabel Customer (b) dan First. Name dari tabel Employee (c) dimana ketiga tabel tersebut mempunyai relasi : n n tabel Order berelasi dengan tabel Employee berdasarkan field Emp. No Tabel Order berelasi dengan tabel Customer berdasarkan field Cust. No

Latihan SQL n Carilah data Order yang customernya berada di United State (us). Tampilkan

Latihan SQL n Carilah data Order yang customernya berada di United State (us). Tampilkan hanya Order. No, Cust. No dan Kota dari kustomer tersebut. SQL

Select Banyak Tabel + Fungsi Agregasi Carilah banyak data barang yang dijual kepada Customer.

Select Banyak Tabel + Fungsi Agregasi Carilah banyak data barang yang dijual kepada Customer. Tampilkan berdasarkan kota dan banyaknya barang n select customer. city, sum(items. Qty) from parts, items, orders, customer where parts. partno=items. partno and items. orderno=orders. orderno and orders. custno=customer. custno group by customer. city

Latihan SQL n Carilah banyak barang, dan total bayar order. Tampilkan hanya Order. No,

Latihan SQL n Carilah banyak barang, dan total bayar order. Tampilkan hanya Order. No, Banyak_barang dan Total_Bayarnya saja (gunakan fungsi sum) SQL

Latihan SQL n Carilah total penjualan yang dilakukan oleh pegawai (employee) yang bernama John

Latihan SQL n Carilah total penjualan yang dilakukan oleh pegawai (employee) yang bernama John Montgomery SQL

Bekerja dengan Query di Delphi MENYUSUN SQL DAN MENGEKSEKUSINYA

Bekerja dengan Query di Delphi MENYUSUN SQL DAN MENGEKSEKUSINYA

Bekerja dengan Query di Delphi n n Buat aplikasi baru Atur Form 1 q

Bekerja dengan Query di Delphi n n Buat aplikasi baru Atur Form 1 q q q n Caption : Pengolahan Data dengan Query 1 Name : FQuery 1 Save dengan nama UFQuery 1. pas Save Project q Save Project dengan nama : Proj. Query 1. dpr

Bekerja dengan Query di Delphi n Tambahkan sebuah TQuery di form, atur propertinya :

Bekerja dengan Query di Delphi n Tambahkan sebuah TQuery di form, atur propertinya : q q q n Data. Source : Ds. QBrowse Name : QExec Tempatkan beberapa TEdit di form. Atur properti seperti pada form di slide berikutnya Tempatkan sebuah Date. Time. Picker (ada di tab Win 32), atur propertinya : q n : Ds. QBrowse : QBrowse Tempatkan sebuah TQuery di form, atur propertinya : q n Name Dataset Tempatkan sebuah Db. Grid, atur propertiesnya : q n : QBrowse : select * from employee : True Tambahkan sebuah Datasource di form, atur propertienya : q n Nama SQL Active Name : DTPTanggal Tempatkan sebuah Tombol di form. Atur propertinya : q q Name Caption : TTambah : Tambah

Bekerja dengan Query di Delphi

Bekerja dengan Query di Delphi

Bekerja dengan Query di Delphi Isi Event Onclick dari TTambah dengan perintah di bawah

Bekerja dengan Query di Delphi Isi Event Onclick dari TTambah dengan perintah di bawah ini : procedure TFQuery 1. TTambah. Click(Sender: TObject); begin try QExec. SQL. Clear; // Kosongkan SQL yang ada QExec. SQL. Add('Insert into Employee values ('); // Perintah Insert QExec. SQL. Add(''''+ENo. Peg. Text+''', '); // Isi Field Emp. No QExec. SQL. Add(''''+ENama. Blk. Text+''', '); // Isi Field Last. Name QExec. SQL. Add(Quoted. Str(ENama. Dpn. Text)+', '); // Isi Field First. Name QExec. SQL. Add(Quoted. Str(EExt. Telp. Text)+', '); // Isi Phone. Ext QExec. SQL. Add(Quoted. Str(Date. To. Str(DTPTanggal. Date))+', '); // Isi Hiredate QExec. SQL. Add(EGaji. Text+')'); // Isi field Salary QExec. SQL; // Eksekusi Query Showmessage('Data Berhasil disimpan'); QBrowse. Disable. Controls; // Nonaktifkan perubahan di Control QBrowse. Close; // Tutup Browse (QBrowse. Active: =False) QBrowse. Open; // Buka Browse (QBrowse. Active: =True) QBrowse. Locate('Emp. No', ENo. Peg. Text, []); // Cari Emp. No sesuai No. Peg QBrowse. Enable. Controls; // Aktifkan perubahan di Control except On E: Exception do Show. Message('Ada Error : '+#13+E. Message); // Tampilkan Error end;

Bekerja dengan Query di Delphi MENGGUNAKAN PARAMETER DATA

Bekerja dengan Query di Delphi MENGGUNAKAN PARAMETER DATA

Bekerja dengan Query di Delphi Untuk tiap proses sebaiknya menggunakan komponen TQuery masing-masing. Jadi

Bekerja dengan Query di Delphi Untuk tiap proses sebaiknya menggunakan komponen TQuery masing-masing. Jadi untuk Tambah data memerlukan sebuah TQuery, untuk Edit data memerlukan sebuah query dan untuk Hapus data juga memerlukan query. Perintah SQL di setiap TQuery berbeda-beda, disesuaikan dengan kegunaannya.

n Tempatkan sebuah TUpdate. SQL di form, atur propertinya : q Name : QTambah

n Tempatkan sebuah TUpdate. SQL di form, atur propertinya : q Name : QTambah q SQL : insert into employee values( : Emp. No, : Last. Name, : First. Name, : Phone. Ext, : Hire. Date, : Gaji) q Atur Parameternya. n n Klik QTambah, Klik […] di properti Params Ganti Data. Type q q q n Klik parameter Emp. No, properti Data. Type diisi ft. Integer Klik parameter Last. Name, properti Data. Type diisi ft. String Klik parameter First. Name, properti Data. Type diisi ft. String Klik parameter Phone. Ext, properti Data. Type diisi ft. String Klik parameter Hire. Date, properti Data. Type diisi ft. Date Klik parameter Gaji, properti Data. Type diisi ft. Currency Tempatkan sebuah Tombol di form, atur propertinya : q Name : TTambah 2

Isi event On. Click dari Tombol Tambah 2 dengan perintah di bawah ini procedure

Isi event On. Click dari Tombol Tambah 2 dengan perintah di bawah ini procedure TFQuery 1. TTambah 2 Click(Sender: TObject); begin try // Pengisian Parameter QTambah. Param. By. Name('Emp. No'). As. Integer : =Str. To. Int(ENo. Peg. Text); QTambah. Param. By. Name('First. Name'). As. String : =ENama. Dpn. Text; QTambah. Param. By. Name('Last. Name'). As. String : =ENama. Blk. Text; QTambah. Param. By. Name('Phone. Ext'). As. String : =EExt. Telp. Text; QTambah. Param. By. Name('Hire. Date'). As. Date : =DTPTanggal. Date; QTambah. Param. By. Name('Gaji'). As. Currency : =Str. To. Curr(EGaji. Text); QTambah. Exec. SQL; // Jalankan Query Showmessage('Data Berhasil disimpan'); QBrowse. Disable. Controls; // Nonaktifkan perubahan di Control QBrowse. Close; // Tutup Browse (QBrowse. Active: =False) QBrowse. Open; // Buka Browse (QBrowse. Active: =True) QBrowse. Locate('Emp. No', ENo. Peg. Text , []); // Cari Emp. No sesuai No. Peg QBrowse. Enable. Controls; // Aktifkan perubahan di Control except On E: Exception do Show. Message('Ada Error : '+#13+E. Message); // Tampilkan Error end;

Untuk proses Edit, dan Hapus silahkan berimprovisasi…

Untuk proses Edit, dan Hapus silahkan berimprovisasi…

Bekerja dengan Query di Delphi

Bekerja dengan Query di Delphi

Aplikasi Master-Detail dengan SQL n n n Buat Aplikasi Baru (File New Application) Simpan

Aplikasi Master-Detail dengan SQL n n n Buat Aplikasi Baru (File New Application) Simpan Form dan Projectnya (di folder yang ada databasenya) Tempatkan sebuah TQuery di form, atur properti : q Name : QOrder (untuk menampilkan data order) q SQL : Select * from Orders q Active : True Tempatkan sebuah TData. Source di form, atur propertinya : q Name : Ds. Order q Dataset : QOrder Tempatkan sebuah TDb. Grid di form, atur properti Datasource dengan Ds. Order

Aplikasi Master-Detail dengan SQL n Tempatkan sebuah TQuery di form, atur properti : q

Aplikasi Master-Detail dengan SQL n Tempatkan sebuah TQuery di form, atur properti : q Name : QDetail. Order (untuk menampilkan data detail order) q SQL : select a. Item. No, a. Part. No, b. Description, a. Qty, b. List. Price, (a. Qty*b. List. Price) as Sub. Total from items a join parts b on a. Part. No=b. Part. No where a. Order. No=: Order. No [: Order. No adalah field yang berelasi ke tabel master (table order)] q q n n Data. Source : Ds. Order (datasource master) Active : True Tempatkan sebuah TData. Source di form, atur propertinya : q Name : Ds. Detail. Order q Dataset : QDetail. Order Tempatkan sebuah TDb. Grid di form, atur properti Datasource dengan Ds. Detail. Order

Aplikasi Master-Detail dengan SQL n Tempatkan sebuah TQuery di form, atur properti : q

Aplikasi Master-Detail dengan SQL n Tempatkan sebuah TQuery di form, atur properti : q q Name : QRekap. Detail (untuk menampilkan perhitungan rekap detail) SQL : select sum(a. Qty) as Banyak_Item, sum(a. Qty*b. List. Price) as Total from items a join parts b on a. Part. No=b. Part. No where a. Order. No=: Order. No [: Order. No adalah field yang berelasi ke tabel master (table order)] q q n Tempatkan sebuah TData. Source di form, atur propertinya : q q n Name Dataset : Ds. Rekap. Detail : QRekap. Detail Tempatkan sebuah TDb. Edit di form, atur properti q q n Data. Source: Ds. Order (datasource master) Active : True Datasource : Ds. Rekap. Detail Data. Field : Total Tempatkan sebuah TDb. Edit di form, atur properti q q Datasource : Ds. Rekap. Detail Field. Name : Banyak_Item

Spread your wings n n n Mulai gunakan database server yang untuk Client/Server (Oracle,

Spread your wings n n n Mulai gunakan database server yang untuk Client/Server (Oracle, Interbase, Postgre. SQL, SQL Server, My. SQL, Fire. Bird) Pelajari terus SQL, karena SQL adalah bahasa standar untuk berkomunikasi dengan database server Be a Multi. Skilled person (memahami banyak hal secara mendalam). Jangan hanya Cross. Skilled (mengetahui banyak hal tapi hanya dasarnya saja)

Kritik, Saran, Dukungan, Revisi dll Kirimkan ke : kuliahdelphi@yahoogroups. com Atau kuliahdelphi@yahoo. co. id

Kritik, Saran, Dukungan, Revisi dll Kirimkan ke : kuliahdelphi@yahoogroups. com Atau kuliahdelphi@yahoo. co. id SEMOGA BERMANFAAT