160 likes | 355 Views
Koneksi Database di Delphi dengan ADO. Muhammad Yusuf D3-Manajemen Informatika Universitas Trunojoyo Http://yusufxyz.wordpress.com Email : yusufxyz@gmail.com. Rancangan Database dengan MS Access. Siapkan MS Access Database dengan rancangan berikut:. Komponen ADO di Delphi.
E N D
Koneksi Database di Delphi dengan ADO Muhammad Yusuf D3-Manajemen Informatika Universitas Trunojoyo Http://yusufxyz.wordpress.com Email : yusufxyz@gmail.com
Rancangan Database dengan MS Access Siapkan MS Access Database dengan rancangan berikut:
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
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
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
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
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
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
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
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
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');
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
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; excepton E:Exception do ShowMessage('Maaf, gagal menjalankan query : ' + adoQuery.SQL.Text + '. Pesan kesalahan: ' + E.Message); end; adoQuery.Free; end;
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
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