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