Você está na página 1de 7

procedure Tfmain.

FormCreate(Sender: TObject);
var cdir, database, pass :string;
begin
cdir := GetCurrentDir;
database:='rapot.mdb';
pass :='';
with con1 do
begin
try
Connected:=False;
ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+cdir+'\'+database+';'+
'Persist Security Info=False;'+
'Jet OLEDB:Database Password='+pass;
Connected:=True;
except
on E: Exception do
begin
MessageDlg('Pesan Kesalahan : '#13''+ E.Message, mtError, [mbOK], 0);
end;
end;
end;
end;
procedure Tfmain.con1AfterConnect(Sender: TObject);
begin
tbl1.Open;
end;

1.

tb_bukuu notebook

2.

tb_pegawai notebook

3.

tb_member notebook

4.

tb_transaksi notebook

MySQL : Filtering Antara Dua Tanggal


Dengan Stored Procedure

1 Vote

Delphi : XE2
Komponen : MyDAC
Database : MySQL (XAMPP Pack Ver 1.8.x)
Kali ini saya akan menulis tentang penggunaan sederhana storedprocedure dalam
database MySQL untuk memfilter data diantara dua tanggal yang biasanya digunakan untuk
menampilkan laporan pada periode tertentu, pada contoh ini saya hanya bermain menggunakan
satu tabel saja kalau mau dikembangkan dengan join tabel sialhkan yang penting tahu
konsepnya dan caranya sama saja, silahkan dikembangkan dan disesuaikan dengan kebutuhan
kita, yang jelas eksekusi yang di lakukan di database akan meningkatkan kinerja aplikasi kita
karena hanya akan mengambil hasil query tidak melakukan query pada sisi aplikasi, dan kita
akan coba prktekan mengeksekusi prosedur dari phpmyadmin dan dari delphi.
Yup langsung saja, saya mempunyai tabel bernama tabel jual dengan struktrur sebagai
berikut

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

--- Table structure for table `jual`


-CREATE TABLE IF NOT EXISTS `jual` (
`nofaktur` varchar(18) NOT NULL,
`tanggal` date NOT NULL,
`tempo` date NOT NULL,
`kdgudang` varchar(15) NOT NULL,
`kdpel` varchar(15) NOT NULL,
`total` double NOT NULL,
`disc` double NOT NULL,
`bayar` double NOT NULL,
`kurang` double NOT NULL,
PRIMARY KEY (`nofaktur`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--- Dumping data for table `jual`
--

Kemudian saya membuat prosedur menggunakan phpmyadmin, melalui menu tampak seperti
pada gambar berikut ini melalui menu Routines > Add New Routine

Kemudian akan tampil menu seperti tampak pada gambar dibawah, kita beri nama prosedur
(penting di ingat soalnyananti untuk memanggil nama prosedur dari aplikasi) lalu pilih tipe
Procedure (bukan Function), kemudian kita buat 2 parameter IN dengan tipe DATE guna
memfilter tabel yang kita buat, kemudian isikan definitionnya seperti kode dibawah ini

1
2
3
4

BEGIN
SELECT * FROM jual
WHERE tanggal between TGL1 And TGL2;
END

Penjelasan :
1.

Nama procedure/function yang kita buat, sangat penting soalnya nanti kalau kita akan memakai
kita ketikan namanya.

2.
3.

Type, memilih apakah kita akan membuat procedure/function.


Parameter input (masukan) kedalam function yang kita buat, kita bisa menmabah berapapun

4.
5.

sesuai yang kita butuhkan.


Parameter output (kembalian) setelah fungsi dieksekusi.
Isi koding procedure/function yang kita buat.

6.

Definer seperti yang ada pada trigger yaitu akses user pengguna function nantinya. *catatan :
agar fungsi/prosedur bisa dikases semua user di semua host (IP) kosongkan saja.

Setelah selesai tekan tombol GO, jika tidak ada error maka routine akan terbentuk, kita bisa
mencobanya dengan melakukan execute sesuai nama prosedur yang telah kita buat..

Kemudian isikan rentang tanggal yang di inginkan maka tabel akan terfilter sesuai parameter
tersebut, kemudian dari sisi aplikasi pada contoh ini saya menggunkan Delphi XE2 dengan
komponen

tambahan

MyDAC,

kemudian

buat

koneksi

serta

gunakan

komponen

TMyStoredProc, lalau kita pilih nama prosedurnya dari dalam komponen seperti pada gambar.

Kemudian pada tombol kita berikan koding ini untuk memanggil prosedur yang telah dibuat.

1
2
3
4
5

sp.SQL.Clear;
sp.SQL.Add('CALL FILTER_JUAL(:P1,:P2)');
sp.Params[0].AsDate:=DateTimePicker1.Date;
sp.Params[1].AsDate:=DateTimePicker2.Date;
sp.ExecProc;

SP adalah name dari komponen TMyStoredProc, jika dilakukan dengan langkah yang benar,
maka kita bisa mendapatkan hasil prosedur yang kita buat tampil pada program sesuai dengan
tanggal yang kita pilih :)

Demikian tutor dasar yang bisa saya sampaikan kali ini silahkan tinggalkan pesan pertanyaan
komentar dan kritik anda, semoga bisa menjadi manfaat dan ilmu jariyah. aamiin ya rabb..

Você também pode gostar