Koneksi database dengan ADO
Download
Report
Transcript Koneksi database dengan ADO
Koneksi Database di Delphi
dengan ADO
Muhammad Yusuf
D3-Manajemen Informatika
Universitas Trunojoyo
Http://yusufxyz.wordpress.com
Email : [email protected]
Rancangan Database
dengan MS Access
Siapkan MS Access Database dengan rancangan berikut:
2
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
3
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
4
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
5
TADOConnection – Pengaturan Ko
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
6
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
7
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
8
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
9
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
10
TADOTable – Contoh Kode Progra
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');
11
TADOTable – Contoh Kode Progra
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
12
TADOQuery – Membuat Secara Ru
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;
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
14
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
15