File DBF memang tipe tabel jadul. Tapi jangan meremehkan file ini, di beberapa tempat pemakaian tabel dengan format DBF masih dipakai. Dengan demikian memelajari file ini sebagai bahan latihan pemrograman tetap aktual. Pembahasan yang akan saya lakukan meliputi pembuatan file DBF, pengisian dengan data, ataupun menghubungkannya dengan datasource, sehingga dapat dibuat report darinya. Segala pembahasan dalam tulisan ini memakai komponen TDBF yang dapat di download di sini atau silakan langsung menuju ke situsnya di: http://tdbf.sourceforge.net/. Dengan memakai TDBF, anda tidak perlu memakai driver apapun, semuanya dapat dikerjakan langsung dari Delphi.
A. Pembuatan File DBF
Drag class TDBF dari tab DataAccess di form.
Pada FormCreate,ketika program berikut:
with dbf1 do
begin
FilePathFull :=ExtractFilePath(Application.ExeName);
TableLevel := 7;
TableName := 'batch.dbf';
with FieldDefs do
begin
Clear;
Add('batch',ftString,8);
Add('tgl',ftDate);
Add('produk',ftString,60);
end;
CreateTable;
end;
FilePathFull adalah property yang menunjukkan tempat file DBF akan diletakkan. Dalam program diatas, file dianggap di tempat file exe program ini. Cara mengetahui tempat file exe-nya adalah dengan menuliskan kode berikut:
ExtractFilePath(Application.ExeName);
TableLevel menyatakan jenis file dbf yang akan dibuat. Berikut adalah tabel selengkapnya mengenai jenis-jenis file dbf:
- Level 3 : dBase III+
- Level 4 : dBase IV
- Level 7 : dBase VIII
- Level 25 : FoxPro
- ftUnknown
- ftString
- ftSmallInt
- ftInteger
- ftWord
- ftBoolean
- ftFloat
- ftCurrency (TableLevel 25)
- ftBCD (TableLevel 25)
- ftDate
- ftTime
- ftDateTime
- ftBytes (TableLevel 25)
- ftVarBytes
- ftAutoInc (TableLevel 7 or 25)
- ftBlob
- ftMemo
- ftGraphic
- ftFmtMemo
- ftParadoxOle
- ftDBaseOle
- ftTypedBinary
- ftCursor
- ftFixedChar
- ftWideString
- ftLargeInt
- ftADT
- ftArray
- ftReference
- ftDataSet
- ftOraBlob
- ftOraClob
- ftVariant
- ftInterface
- ftIDispatch
- ftGuid
- ftTimeStamp
- ftFMTBcd
CreateTable digunakan untuk membuat tabel berdasarkan definisi yang sudah didefinisikan sebelumnya. Tanpa perintah CreateTable, maka file dbf belum terbentuk di hardisk.
B. Pengisian Data
Pengisian data dapat dilakukan dengan contoh kode berikut:
with dbf1 do
begin
DisableControls;
Open;
Append;
FieldByName('BATCH').Value := '0001';
FieldByName('TGL').Value := DateTimePicker1.Date;
FieldByName('PRODUK').Value := 'Roti Tawar Isi Coklat';
Post;
EnableControls;
end;
DisableControl digunakan untuk mematikan update komponen. Dengan mematikan fungsi ini, maka eksekusi menjadi lebih cepat. Property ini tidak harus diset.
Open digunakan untuk mengaktifkan tabel agar dapat menerima operasi-operasi tabel
Append digunakan untuk menyiapkan tempat bagi record baru.
FieldByName().value digunakan untuk menghubungkan field pada tabel dengan data masukan.
Post digunakan untuk memasukkan data yang diserahterimakan dengan perintah FieldByName().value ke dalam tabel
EnableControl digunakan untuk mengaktifkan komponen.
C. Menghubungkan Dengan Datasource
TDBF dapat diacu oleh TDataSource, sehingga dengan demikian, isi dari tabel TDBF dapat ditampilkan pada semua komponen yang menggunakan TDataSource. Sebagai contoh, program dibawah ini akan menggunakan TDBGrid dalam menampilkan isi tabel DBF.
letakkan TDBF, TDataSource, dan TDBGrid ke dalam form.
hubungkan TDataSource pada property DataSet dengan TDBF. Hubungkan TDBGrid ke TDataSet.
DataSource1.DataSet := Dbf1;
DbGrid1.DataSource := DataSource1;
Letakkan kode berikut pada formcreate, sehingga ketika form mulai tampilkan, tabel DBF langsung dipanggil.
with Dbf1 do
begin
FilePathFull := ExtractFilePath(Application.ExeName);
TableName := 'batch.dbf';
Open;
end;
bisa untuk delphi7 gan ...
BalasHapusBisa
BalasHapusapakah komponen ini bisa delete secara fisik (PACK)?
BalasHapusBisa... ada property-nya. Pakai PackTable
Hapusyups...
BalasHapuscara instalnya bagaimana gan, bisa di bantu jelaskan dengan step by step,
BalasHapussaya coba selalu ada error di Delphi 7