delphi tabel

33
Kuliah Delphi BEKERJA DENGAN DATABASE Bekerja Dengan Komponen TTable Oleh Andri Heryandi, ST

Transcript of delphi tabel

Page 1: delphi tabel

Kuliah DelphiBEKERJA DENGAN DATABASE

Bekerja Dengan Komponen TTable

Oleh Andri Heryandi, ST

Page 2: delphi tabel

Materi Hari IniMateri Hari Ini

• Navigasi TabelNavigasi TabelPindah ke data pertama, sebelumnya, berikutnya, terakhirterakhir.

• Mengatur Status Table (State)

M k Fi ld• Mengakses Field

• Tambah Data

• Edit Data

• Hapus DataHapus Data

Oleh Andri Heryandi, ST

Page 3: delphi tabel

Contoh Struktur Table (*.db)Contoh Struktur Table ( .db)

Oleh Andri Heryandi, ST

Page 4: delphi tabel

Aplikasi DatabaseAplikasi Database

Komponen yang digunakan :

• Table

DatabaseName : DBIFXX (alias sesuaikan)

TableName : Barang.DB

Name : TBarang

Active : True

• DataSource

Dataset : TBarang

Name : DSBarang

• DBGrid

Datasource : DSBarang

Oleh Andri Heryandi, ST

Page 5: delphi tabel

Mengatur Status TableMengatur Status Table

DSBrowse

EdiA d / I

DSInsert DSEdit

EditAppend / Insert Post/CancelPost/Cancel

DSInsert DSEdit

Oleh Andri Heryandi, ST

Page 6: delphi tabel

Navigasi Tabel (1)Navigasi Tabel (1)

Pindah Ke Data PertamaPindah Ke Data Pertamaprocedure TForm1.TblPertamaClick(Sender: TObject);begin

//TBarang.First; // Pindah ke record pertamaend;

Oleh Andri Heryandi, ST

Page 7: delphi tabel

Navigasi Tabel (2)Navigasi Tabel (2)

Pindah Ke Data TerakhirPindah Ke Data Terakhirprocedure TForm1.TblTerakhirClick(Sender: TObject);begin

//TBarang.Last; // pindah ke record terakhirend;

Oleh Andri Heryandi, ST

Page 8: delphi tabel

Navigasi Tabel (3)Navigasi Tabel (3)

Pindah Ke Data SebelumnyaPindah Ke Data Sebelumnyaprocedure TForm1.TblSebelumnyaClick(Sender: TObject);begin

//TBarang.Prior; // pindah ke record sebelumnyaif TBarang.BOF = true then // Jika mencapai awal file

// BOF = Begin Of Filebeging

showmessage('Anda telah berada di data pertama');end;

end;

Oleh Andri Heryandi, ST

Page 9: delphi tabel

Navigasi Tabel (4)Navigasi Tabel (4)

Pindah Ke Data BerikutnyaPindah Ke Data Berikutnyaprocedure TForm1.TblBerikutnyaClick(Sender: TObject);begin

//TBarang.Next; // pindah ke record berikutnyaif TBarang.EOF = true then // Jika mencapai akhir file

// EOF = End Of Filebeging

showmessage('Anda telah berada di data terakhir');end;

end;

Oleh Andri Heryandi, ST

Page 10: delphi tabel

Mengakses Field (a)Mengakses Field (a)

• Mengakses melalui nama fieldMengakses melalui nama field– Menggunakan Array Nama Field

• TBarang[‘Nama’]:=‘Kursi Goyang’;

• TBarang FieldValues[‘Stock’]:=100;• TBarang.FieldValues[ Stock ]:=100;

– Menggunakan Fungsi FieldByName• TBarang.FieldByName(‘Nama’).AsString:=‘Kursi Goyang’;

• TBarang.FieldByName(‘Harga’).AsCurrency:=1234;g y ( g ) y ;

• TBarang.FieldByName(‘Harga’).AsString:=‘1234’;

• Mengakses melalui nomor urut field– Menggunakan Properti Fields

• TBarang.Fields[1].value:=‘Ponsel’; // Field Ke‐2 (field Nama)

Oleh Andri Heryandi, ST

Page 11: delphi tabel

Mengakses Field (b)Mengakses Field (b)

• Mengakses menggunakanMengakses menggunakankomponen TFieldUntuk menggunakan komponen TField, maka komponennyaharus dibuat terlebih dahulu dengan cara mendoubleklik padaharus dibuat terlebih dahulu dengan cara mendoubleklik padakomponen Tbarang yang akan menampilkan FieldEditor, kemudian klik kanan, pilih Add All Fields.Nama komponen dari suatu field dapat dilihat dengan mengklikkkomponennya.Untuk mengakses nilainya, gunakan properti Value, Contoh :

TBarangNama Value:=‘Kursi Goyang’;TBarangNama.Value:= Kursi Goyang ;TBarangStock.value:=150;

Oleh Andri Heryandi, ST

Page 12: delphi tabel

Penambahan Data (Versi 1)Penambahan Data (Versi 1)

Penambahan Data versi 1 adalah penambahanPenambahan Data versi 1 adalah penambahanyang proses penyimpanan datanya dilakukansecara manual Setiap field diisi secara manualsecara manual. Setiap field diisi secara manual dengan tidak melibatkan komponen Data Control misalnya dengan komponen TEdit biasaControl, misalnya dengan komponen TEdit biasabukan TDBEdit.

Oleh Andri Heryandi, ST

Page 13: delphi tabel

Penambahan Data (a)Penambahan Data (a)

Tambahkan groupbox dan komponen lainTambahkan groupbox dan komponen lain seperti di bawah ini :

Semua komponenSemua komponenmenggunakan komponenstandar, tidak menggunakankomponen Data Control. Untuk ENama, EHarga, EStockdan EStockMinimalmenggunakan komponenTEditTEdit.

Oleh Andri Heryandi, ST

Page 14: delphi tabel

Penambahan Data (b)Penambahan Data (b)

Buat tombol Tambah di form pada posisi yangBuat tombol Tambah di form pada posisi yang diinginkan.

Oleh Andri Heryandi, ST

Page 15: delphi tabel

Penambahan Data (c)Penambahan Data (c)

Isi Event OnClick dari Tombol TambahIsi Event OnClick dari Tombol Tambahdengan perintah berikut :procedure TForm1 TTambahClick(Sender: TObject);procedure TForm1.TTambahClick(Sender: TObject);begin

TBarang.Append; // Atau TBarang.Insert;ENama.Text:='';EHarga.Text:='';EStock.Text:='';EStockMinimal.Text:='';ENama.SetFocus;ENama.SetFocus;

end;

Oleh Andri Heryandi, ST

Page 16: delphi tabel

Penyimpanan DataPenyimpanan Data

Isi Event OnClick dari Tombol SimpanIsi Event OnClick dari Tombol Simpandengan perintah berikut :

procedure TForm1.TSimpanClick(Sender: TObject);procedure TForm1.TSimpanClick(Sender: TObject);begin

if TBarang.State in [dsInsert, dsEdit] thenbegin

// Untuk pengisian field boleh berbagai caraTB ['N '] EN T tTBarang['Nama']:=ENama.Text;TBarang.FieldValues['Harga']:=StrToCurr(EHarga.Text);TBarang.FieldByName('Stock').AsString:=EStock.Text;// atau TBarang.FieldByName('Stock').AsInteger:=StrToInt(EStock.Text);TBarang.Fields[4].Value:=StrToInt(EStockMinimal.Text);gTBarang.Post; // Simpan

endelsebegin

Showmessage('Untuk menyimpan data harus mengklik tombol Tambah atau Edit

Oleh Andri Heryandi, ST

Showmessage('Untuk menyimpan data harus mengklik tombol Tambah atau Edit dulu');

end;end;

Page 17: delphi tabel

Pembatalan Operasi Tambah/EditPembatalan Operasi Tambah/Edit

Isi Event OnClick dari Tombol Batal denganIsi Event OnClick dari Tombol Batal denganperintah berikut :

procedure TForm1.TBatalClick(Sender: TObject);procedure TForm1.TBatalClick(Sender: TObject);begin

if MessageDlg('Pengisian data dibatalkan?',mtconfirmation,[mbyes,mbno],0)=MrYes then

beginTB C lTBarang.Cancel;ENama.Text:='';EHarga.Text:='';EStock.Text:='';EStockMinimal.Text:='';

end;end;

Oleh Andri Heryandi, ST

Page 18: delphi tabel

Pengeditan Data (versi 1)Pengeditan Data (versi 1)

Pengeditan Data versi 1 adalah pengeditan yang e ged ta ata e s ada a pe ged ta ya gproses penyimpanan datanya dilakukan secaramanual. Setiap field diisi secara manual dengand k l b k k l ltidak melibatkan komponen Data Control, misalnya

dengan komponen TEdit biasa bukan TDBEdit.P dit d b h b i iPengeditan dan penambahan sebenarnya mirip, perbedaannya hanya perintah Append digantidengan dengan Edit dan data yang ada sekarang didengan dengan Edit dan data yang ada sekarang direcord aktif harus ditampilkan terlebih dahulu.

Oleh Andri Heryandi, ST

Page 19: delphi tabel

Pengeditan Data (b)Pengeditan Data (b)

Buat tombol Edit di form pada posisi yangBuat tombol Edit di form pada posisi yang diinginkan.

Oleh Andri Heryandi, ST

Page 20: delphi tabel

Pengeditan Data (c)Pengeditan Data (c)

Isi Event OnClick dari Tombol Edit denganIsi Event OnClick dari Tombol Edit denganperintah berikut :

procedure TForm1 TEditClick(Sender: TObject);procedure TForm1.TEditClick(Sender: TObject);begin

TBarang.Edit;ENama.Text:=TBarang['Nama'];EHarga.Text:=TBarang.FieldByName('Harga').AsString;EStock.Text:=TBarang.Fields[3].AsString;EStockMinimal.Text:=IntToStr(TBarangStockMinimal.value);ENama.SetFocus;ENama.SetFocus;

end;

Oleh Andri Heryandi, ST

Page 21: delphi tabel

Penghapusan Data (a)Penghapusan Data (a)

Penghapusan data dilakukan dengan memanggilPenghapusan data dilakukan dengan memanggilperintah Delete. 

Tetapi sangat disarankan ketika akan melakukanh k l k k k fi ipenghapusan untuk melakukan konfirmasi

apakah user benar‐benar ingin melakukanhpenghapusan.

Oleh Andri Heryandi, ST

Page 22: delphi tabel

Penghapusan Data (b)Penghapusan Data (b)

Buat tombol Hapus di form pada posisi yangBuat tombol Hapus di form pada posisi yang diinginkan.

Oleh Andri Heryandi, ST

Page 23: delphi tabel

Penghapusan Data (c)Penghapusan Data (c)

Isi Event OnClick dari Tombol Hapus denganIsi Event OnClick dari Tombol Hapus denganperintah berikut :

procedure TForm1 THapusClick(Sender: TObject);procedure TForm1.THapusClick(Sender: TObject);begin

if Messagedlg('Anda yakin data akan dihapus?', mtconfirmation,[MbYes,MbNo],0)=MrYes then

beginTBarang.Delete;

end;end;end;

Oleh Andri Heryandi, ST

Page 24: delphi tabel

Penambahan Data (Versi 2)Penambahan Data (Versi 2)

Penambahan Data versi 2 adalah penambahanPenambahan Data versi 2 adalah penambahanyang proses penyimpanan datanya dilakukansecara otomatis karena menggunakansecara otomatis karena menggunakankomponen‐komponen Data Control sepertiTDBEditTDBEdit.

Oleh Andri Heryandi, ST

Page 25: delphi tabel

Penambahan Data (a)Penambahan Data (a)

Tambahkan groupbox dan komponen lainTambahkan groupbox dan komponen lain seperti di bawah ini :

Semua komponen menggunakanSemua komponen menggunakanData Control. Untuk ENama, EHarga, EStock danEStockMinimal menggunakankomponen TDBEditkomponen TDBEdit.

Semua DBEdit, propertiDataSourcenya diisi denganDSBarang Sedangkan PropertyDSBarang. Sedangkan Property DataField‐nya disesuaikan.

Oleh Andri Heryandi, ST

Page 26: delphi tabel

Penambahan Data (versi 2) (b)Penambahan Data (versi 2) (b)

Buat tombol Tambah di form pada posisi yangBuat tombol Tambah di form pada posisi yang diinginkan. Isi Namenya dengan TTambah2 agar tidak bentrok dengan Tombol tambah yangtidak bentrok dengan Tombol tambah yang pertama

Oleh Andri Heryandi, ST

Page 27: delphi tabel

Penambahan Data (versi 2) (c)Penambahan Data (versi 2) (c)

Isi Event OnClick dari Tombol Tambah 2Isi Event OnClick dari Tombol Tambah 2 dengan perintah berikut :procedure TForm1 TTambah2Click(Sender: TObject);procedure TForm1.TTambah2Click(Sender: TObject);begin

TBarang.Append;// atau TBarang.Insert;DBEdit1.SetFocus; // Agar focus ke DBEdit field Nama

end;

Oleh Andri Heryandi, ST

Page 28: delphi tabel

Penyimpanan Data (versi 2)Penyimpanan Data (versi 2)

Isi Event OnClick dari Tombol Simpan 2Isi Event OnClick dari Tombol Simpan 2 dengan perintah berikut :

procedure TForm1.TSimpan2Click(Sender: TObject);procedure TForm1.TSimpan2Click(Sender: TObject);begin

if TBarang.State in [dsInsert, dsEdit] thenbegin

TBarang.Post; // Simpandend

elsebegin

Showmessage('Untuk menyimpan data harus mengklik tombol Tambah atau Edit dulu');

end;end;

Oleh Andri Heryandi, ST

Page 29: delphi tabel

Pembatalan Operasi Tambah/EditPembatalan Operasi Tambah/Edit

Isi Event OnClick dari Tombol Batal 2Isi Event OnClick dari Tombol Batal 2 dengan perintah berikut :

procedure TForm1.TBatal2Click(Sender: TObject);procedure TForm1.TBatal2Click(Sender: TObject);begin

if MessageDlg('Pengisian data dibatalkan?',mtconfirmation,[mbyes,mbno],0)=MrYes then

beginTB C l // B t lk b h d tTBarang.Cancel; // Batalkan perubahan data

end;end;

Oleh Andri Heryandi, ST

Page 30: delphi tabel

Pengeditan Data (versi 2)Pengeditan Data (versi 2)

Pengeditan Data versi 2 adalah pengeditan yangPengeditan Data versi 2 adalah pengeditan yang proses penyimpanan datanya otomatis karenapengisian datanya melibatkan komponen Datapengisian datanya melibatkan komponen Data Control, misalnya dengan komponen TEdit biasabukan TDBEditbukan TDBEdit.

Oleh Andri Heryandi, ST

Page 31: delphi tabel

Pengeditan Data (b)Pengeditan Data (b)

Buat tombol Edit di form pada posisi yangBuat tombol Edit di form pada posisi yang diinginkan. Isi Name dengan TEdit2 agar tidakbentrok dengan Tombol Edit yang pertamabentrok dengan Tombol Edit yang pertama

Oleh Andri Heryandi, ST

Page 32: delphi tabel

Pengeditan Data (c)Pengeditan Data (c)

Isi Event OnClick dari Tombol Edit denganIsi Event OnClick dari Tombol Edit denganperintah berikut :

procedure TForm1 TEdit2Click(Sender: TObject);procedure TForm1.TEdit2Click(Sender: TObject);begin

TBarang.Edit;DBEdit1.SetFocus;

end;

Oleh Andri Heryandi, ST

Page 33: delphi tabel

SEKIAN MATERI UNTUK HARI INISEKIAN MATERI UNTUK HARI INI

Oleh Andri Heryandi, ST