Title: Koneksi Database di Delphi
1Koneksi Database di Delphi dengan ADO
Muhammad Yusuf D3-Manajemen Informatika Universita
s Trunojoyo Http//yusufxyz.wordpress.com Email
yusufxyz_at_gmail.com
2Rancangan Database dengan MS Access
Siapkan MS Access Database dengan rancangan
berikut
3Komponen 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
4TADOConnection 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
5TADOConnection 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
6TADOConnection 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
7TADOTable
- 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
8TADOTable 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
9TADOTable 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
10TADOTable 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
11TADOTable 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').AsStrin
g) //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')
12TADOTable 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.FieldByNa
me('NomorInduk').AsString '0000001'
tblPegawai.FieldByName('Nama').AsString 'Bruce
Wayne' tblPegawai.FieldByName('TanggalLahir').A
sDateTime 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
13TADOQuery 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.Par
amValues'NomorInduk' edNomorInduk.Text
adoQuery.Parameters.ParamValues'Nama'
edNama.Text adoQuery.Parameters.ParamValues
'TanggalLahir' dtpTanggalLahir.DateTime
adoQuery.Parameters.ParamValues'Jabatan'
edJabatan.Text adoQuery.Parameters.ParamValu
es'Gaji' StrToCurrDef(edGaji.Text, 0)
adoQuery.Parameters.ParamValues'Catatan'
memoCatatan.Lines.Text try
adoQuery.ExecSQL except on EException do
ShowMessage('Maaf, gagal menjalankan
query ' adoQuery.SQL.Text '.
Pesan kesalahan ' E.Message) end
adoQuery.Free end
14TADOQuery
- 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
15TDataSource
- 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
16(No Transcript)