delphi - ado - ms access v1.0
TRANSCRIPT
Koneksi Database di Delphi 6 dengan ADO
Wisnu Widiartahttp://wishknew.multiply.com
30 Juli 2008
Sebuah Tutorial Singkat untuk Pemulav1.0
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 2
Rancangan Database dengan MS Access
Siapkan MS Access Database dengan rancangan berikut:
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 3
Komponen ADO di Delphi
TADOConnection Objek ini digunakan untuk melakukan koneksi ke database Paling tepat untuk database dari Microsoft seperti MS Access dan SQL Server Versinya tergantung dari komponen MDAC (Microsoft Data Access Components) → Cek selalu versinya di http://www.microsoft.com/data
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 4
TADOConnection – Pengaturan Koneksi
Gunakan property ConnectionString untuk mengatur koneksi ke database Ada lebih dari satu cara untuk membuka window dialog pengaturan ConnectionString:
Klik ganda pada objek TADOConnection Melalui Object Inspector (F11) - ConnectionString
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 5
TADOConnection – Pengaturan Koneksi (ii)
Ada 2 cara yang sering dipakai untuk melakukan koneksi ke MS Access (MDB) Dengan menggunakan Microsoft Jet 4.0 OLE DB Provider atau dengan
menggunakan Microsoft OLE DB Provider for ODBC Drivers Contoh kali ini akan menggunakan Jet 4.0 OLE DB
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 6
TADOConnection – Pengaturan Koneksi (iii)
Pilih MDB yang akan digunakan Klik tombol Test Connection untuk mencoba melakukan koneksi ke MDB
tersebut Jika terdapat kegagalan, coba tutup file MDB tersebut jika dalam keadaan terbuka atau diakses oleh program lainnya dan coba tes kembali
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 7
TADOTable
TADOTable merupakan sebuah kelas turunan dari TDataSet Digunakan untuk mewakili tabel dalam database dan memungkinkan kita untuk menelusuri data, menambah, mengubah, dan menghapus record Tidak disarankan untuk digunakan jika terhubung ke database dalam jaringan Cocok untuk database desktop seperti MS Access
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 8
TADOTable – Konfigurasi Dasar
Setiap TADOTable sebaiknya dihubungkan dengan TADOConnection (tidak menggunakan ConnectionString yang berbeda-beda) Table di database yang akan diwakili oleh komponen ini diatur dalam property TableName Berikan nama objek sesuai dengan nama tabel dalam database. Misal jika nama tabelnya adalah Pegawai maka nama untuk objek ini misalnya
tabelPegawai, tblPegawai, adoTblPegawai, dsb. Penamaan objek sesuai dengan fungsinya merupakan kebiasaan pemrograman yang baik dan
membuat kode program menjadi mudah dibaca
Untuk membuka sebuah TADOTable ada dua cara: Mengubah atribut Active menjadi True
Dengan memanggil method Open
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 9
TADOTable – Menelusuri Records Menggerakkan kursor ke: awal record gunakan method First akhir record gunakan method Last maju 1 record gunakan method Next mundur 1 record gunakan method Prior memeriksa awal record gunakan property BOF memeriksa akhir record gunakan property EOF Mencari data tertentu dalam tabel gunakan method: Locate FindFirst FindNext
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 10
TADOTable – Manipulasi Data
Gunakan method Insert untuk menambah record di kursor yang sedang aktif Gunakan method Append untuk menambah record di akhir record Gunakan method Edit untuk menyunting record aktif Gunakan method Delete untuk menghapus record aktif Gunakan method Post untuk menyimpan data ke database Gunakan method Cancel untuk membatalkan pengubahan data
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 11
TADOTable – Contoh Kode Program
ADOConnection.Connected := True; //membuka koneksi database tblPegawai.Active := True; //membuka tabel Pegawai
while Not tblPegawai.Eof do //selama belum mencapai akhir tabel Pegawai begin ShowMessage(tblPegawai.fieldByName('Nama').AsString); //menampilkan nama Pegawai tblPegawai.Next; //bergeser ke record selanjutnya end;
tblPegawai.First; //ke record awal
if tblPegawai.Locate('Nama', 'Wisnu', [loCaseInsensitive, loPartialKey]) = True then ShowMessage('Menemukan data Wisnu dalam tabel Pegawai') else ShowMessage('Tidak menemukan data Wisnu dalam tabel Pegawai');
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 12
TADOTable – Contoh Kode Program (ii)
if tblPegawai.Locate('Nama', 'Bruce', [loCaseInsensitive, loPartialKey]) = True then begin ShowMessage('Menemukan data Bruce dalam tabel Pegawai'); tblPegawai.Delete; //menghapus data Bruce end;
tblPegawai.Insert; //membuat record kosong di kursor yang sedang aktif tblPegawai.FieldByName('NomorInduk').AsString := '0000001'; tblPegawai.FieldByName('Nama').AsString := 'Bruce Wayne'; tblPegawai.FieldByName('TanggalLahir').AsDateTime := EncodeDate(1970, 12, 31); tblPegawai.FieldByName('Jabatan').AsString := 'CEO'; tblPegawai.FieldByName('Gaji').AsCurrency := 1000000000; tblPegawai.FieldByName('Catatan').AsString := 'Siang konglomerat, malam Batman'; tblPegawai.Post; //menyimpan ke database
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 13
TADOQuery
TADOQuery merupakan salah satu turunan TDataSet yang digunakan untuk melakukan query ke database, baik itu perintah SELECT, INSERT, UPDATE, maupun
DELETE Jangan lupa untuk mengatur property Connection dengan TADOConnection yang suda ada Atur query dengan mengisi property SQL
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 14
TADOQuery – Membuat Secara Runtime
procedure TformUtama.btnTambahClick(Sender: TObject);var adoQuery: TADOQuery;begin adoQuery := TADOQuery.Create(Nil); adoQuery.Connection := ADOConnection;
adoQuery.SQL.Add('INSERT INTO Pegawai ' + '(NomorInduk, Nama, TanggalLahir, Jabatan, Gaji, Catatan) ' + 'VALUES ' + '(:NomorInduk, :Nama, :TanggalLahir, :Jabatan, :Gaji, :Catatan) ');
adoQuery.Parameters.ParamValues['NomorInduk'] := edNomorInduk.Text; adoQuery.Parameters.ParamValues['Nama'] := edNama.Text; adoQuery.Parameters.ParamValues['TanggalLahir'] := dtpTanggalLahir.DateTime; adoQuery.Parameters.ParamValues['Jabatan'] := edJabatan.Text; adoQuery.Parameters.ParamValues['Gaji'] := StrToCurrDef(edGaji.Text, 0); adoQuery.Parameters.ParamValues['Catatan'] := memoCatatan.Lines.Text;
try adoQuery.ExecSQL; except on E:Exception do ShowMessage('Maaf, gagal menjalankan query : ' + adoQuery.SQL.Text + '. Pesan kesalahan: ' + E.Message); end;
adoQuery.Free;end;
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 15
TDataSource
TDataSource digunakan untuk menghubungkan komponen turunan TDataSet seperti TADOTable, TADOQuery ke komponen Visual Data Control seperti
TDBGrid, TDBText, TDBNavigator, TDBMemo, TDBListBox, TDBCtrlGrid, dsb. Komponen ini secara default berada dalam palette Data Access Satu-satunya atribut yang wajib diisi adalah atribut DataSet, untuk menyebutkan dataset mana yang akan dihubungkan ke visual control melalui komponen TDataSource ini
Wisnu Widiarta - http://wishknew.multiply.com - Delphi +ADO +MS Access 16
PertanyaanPunya pertanyaan? Baca panduan / Help dari Delphi (tekan tombol F1 atau via menu Help) Baca buku Developers Guide Delphi 6 dari Steve Teixeira dan Xavier Pacheco Baca buku Mastering Delphi 7 dari Marco Cantu Silakan tanya di Milis Delphi Indonesia http://groups.yahoo.com/group/delphindo (jawaban bisa sangat lengkap karena banyak yang berkontribusi di sana) Posting komentar / personal message di blog http://wishknew.multiply.com (begitu ada waktu dan pertanyaannya bisa dijawab akan dijawab. Tidak ada jaminan pertanyaan dapat dijawab segera) Sebelum bertanya, cobalah dahulu untuk melakukan eksplorasi dan luangkan waktu untuk membaca atau googling dari Internet :)