Sabtu, 31 Mei 2008

Tips membuat Connection String pada ADO secara dinamis dengan menggunakan TRzRegIniFile

Beberapa hari tidak memberikan tips dan trik rasanya koq aneh dalam hidup ini. btw, nggak papa lah...hidup ini kan tidak bisa stabil, kadang merasa diatas dan kadang merasa dibawah. Baiklah, kali ini akan diberikan tips kepada temen-temen yang ingin belajar database pemrograman terutama yang ada hubungannya dengan ADO Connection.

Kemudian untuk database engine yang dijadikan sebagai acuan disini adalah database engine MS SQL Server.

Disini anda akan diajarkan gimana aplikasi secara otomatis akan melakukan proses koneksi ulang k server tanpa kita harus melakukan secara manual. Dengan demikian, program kita tidak akan terkesan murahan ketika koneksi gagal dilakukan langsung muncul error.

langsung saja kita kembali ke pokok permasalahan yaitu gimana kita akan membuat connection string secara dinamis dengan menggunakan bantuan database registry. Untuk mengakses database regsitry dengan mudah dan cepat, disini dibantu dengan menggunakan object TRzRegIniFile yang diambil dari component pallete Raize Widgets.

Sekarang silahkan anda lakukan langkah-langkah seperti dibawah ini:

1. Apabila anda belum membuat program Delphi, silahkan anda buka terlebih dahulu.
2. Kemudian buat program aplikasi baru dan berikan nama project "Project1"
3. Simpan program aplikasi tersebut didalam folder yang aman.
4. Setelah itu, silahkan anda tambahkan beberapa object seperti dibawah ini kedalam form:
- ADOConnection1
- RzRegIniFile1
5. Lanjutkan dengan mengatur settingan object-object tersebut. Silahkan anda atur dengan settingan seperti ditunjukkan dibawah ini.

Untuk ADOConnection1 :
- LoginPrompt = False
- untuk properties yang lain sifatnya adalah default

Untuk RzRegIniFile1
- Path = 'Software'
- PathType = ptRegistry
- untuk properties yang lain sifatnya adalah default

6. Jangan lupa untuk menambahkan library "ComObj" kedalam "uses". Untuk lebih jelas mengenai hal ini silahkan baca artikel ini
7. Sekarang silahkan pilih object "Form1"
8. Klik 2x object tersebut hingga dibuat procedure "FormCreate"
9. Kemudian silahkan anda isikan kode program didalam event tersebut seperti terlihat pada potongan kode program dibawah ini.

....
....
var
TeksKoneksi : String;
Password : String;
User : String;
Server : String;
Database : String;
TempStatus : String;
label
KoneksiUlang;
begin

// proses inisialisasi data variabel dari database registry
with RzRegIniFile1 do
begin
Password := ReadString('Config','Password','ekoindri');
User := ReadString('Config','User','sa');
Server := ReadString('Config','Server','(local)');
Database := ReadString('Config','Database','Aurecosoft - Business Small Accounting');
end;

// Memberikan inisialisasi data pada variabel TeksKoneksi
TeksKoneksi := 'Provider=SQLOLEDB.1;' +
'Password=%s;' +
'Persist Security Info=True;' +
'User ID=%s;' +
'Initial Catalog=%s;' +
'Data Source=%s';

// Proses pembuatan ConnectionString
KoneksiUlang:

// proses koneksi ke database server

try
TempStatus := 'Sukses';
Connected := True;
except
on EOleException do
begin
TempStatus := 'Gagal';
end;
end;

// Apabila proses keneksi gagal, maka sistem akan melakukan koneksi ulang ke server hingga berhasil
// jika anda ingin membatasi hingga 5 kali koneksi gagal atau n koneksi gagal akan menutup aplikasi,
// maka, anda bisa gunakan parameter tambahan yang gunanya untuk meng-counter. Apabila parameter
// tersebut jumlahnya sesuai dengan jumlah batas koneksinya, maka applikasi langsung di terminate.
// Silahkan hal tersebut anda coba sendiri dan jadikan latihan untuk mengembangkan kemampuan anda

if TempStatus = 'Gagal' then
goto KoneksiUlang;
end;
end;
....
....

10. Kemudian anda dapat meng-compile dan menjalankan program aplikasi tersebut dengan cara menekan tombol F9.
11. Tunggu beberapa saat hingga aplikasi benar2 siap jalan
12. Apabila Form1 muncul, itu artinya proses keneksi database telah berhasil dilakukan.
13. Sekali lagi, jangan lupa untuk menentukan data-data koneksinya didalam database registry.
14. Akan lebih baik, jika anda membuat aplikasi khusus yang tujuannya untuk memasukkan data konfigurasi database kedalam database registry, sehingga anda tidak perlu melakukan konfigurasi secara manual dengan membuka database registry.
15. Dari contoh diatas apabila sistem tidak menjumpai data konfigurasi database didalam databse registry, maka dia akan menggunakan data defaultnya. Untuk lebih jelasnya silahkan anda lihat potongan kode program dibawah ini.

....
....
with RzRegIniFile1 do
begin
Password := ReadString('Config','Password','ekoindri');
User := ReadString('Config','User','sa');
Server := ReadString('Config','Server','(local)');
Database := ReadString('Config','Database','Aurecosoft - Business Small Accounting');
end;
....
....

16. Semoga tips ini bisa berguna.

Silahkan anda berikan info ini kepada teman-teman anda yang lain agar mereka tidak kehilangan informasi yang mungkin sangat mereka butuhkan.


salam,


Hendrie

Tidak ada komentar: