Fungsi Mengakses Database

Beberapa dari kita tentunya pernah mengalami saat menuliskan kode untuk mengakses database akan tetapi kita sendiri belum tentu tahu database apa yang nantinya akan dipakai pada akhir develop. Untuk itu, gw mencoba untuk membuat fungsi sederhana untuk mengakses database pada aplikasi dengan delphi dan memakai database seperti Dbase, Paradox atau Access. Dan setelah aplikasi gw selesai, ternyata aplikasi yg barusan gw bangun akan menggunakan database yang berbeda dengan yang gw pakai. Lalu gw nanya pada diri gw sendiri : ‘bagaimana dengan kode yang gw bikin ?’ Seperti ini seringkali terjadi pada aplikasiku. Dengan kondisi ini, maka gw mencoba untuk membuat 2 buah fungsi untuk mengakses database dari database apapun. Seperti ini code yang gw bikin :

Mengeksekusi perintah SQL :


procedure RunSQL(sSQL : String);
var
          qrySQL : TADOQuery;
begin
       try
          qrySQL := TADOQuery.Create(Application);
          qrySQL.Connection := adoConnection;
          qrySQL.SQL.Clear;
          qrySQL.SQL.Text := sSQL;
          qrySQL.ExecSQL;
      finally
          qrySQL.Free;
      end;
end;

Mendapatkan record :


Procedure GetRecords(var qryField : TADOQuery; sSQL : String; LockType : TADOLockType = ltReadOnly);
begin
          if qryField = Nil then begin
             qryField := TADOQuery.Create(Application);
             qryField.CursorType := ctOpenForwardOnly;
             qryField.Connection := adoConnection;
          end; 

          qryField.Close;
          qryField.LockType := LockType;
          qryField.SQL.Clear;
          qryField.SQL.Add(sSQL);
          qryField.Open;
end;

Contoh pemakaian RunSQL :


var
          sSQL : String;
begin
          sSQL := 'insert into TB_Log (UserId,UserName) values ("My User Id","My User Name")';
          RunSQL(sSQL);

Contoh pemakaian GetRecord:


var
         qrySetup : TADOQuery;
begin
         GetRecords(qrySetup,'select * from TB_Setup',ltOptimistic); 

         if qrySetup['IsRegistered'] then begin
            ShowMessage('Your are a Registered user')
         else
            ShowMessage('Your are NOT a Registered user'); 

         //jangan lupa untuk free
         qrySetup .Free; 

............................................................................... 

//contoh pemakaian lainnya

...............................................................................
var
         qryUsers : TADOQuery;
begin
         GetRecords(qryUsers,'select * from TB_Users',ltOptimistic); 

         while NOT qryUsers.Eof do begin
               if qryUsers['UserName'] = 'Ridwan' then
                  ShowMessage('It's me!!!'); 

               qryUsers.Next;
         end; 

         qryUsers.Free;

Memang sederhana, namun sangat berguna dalam situasi tertentu.

8 Responses to “Fungsi Mengakses Database”

  1. DelphiExpert Says:

    Biasakan selalu gunakan block try – finally to ensure the object released in any conditions (exception etc).

    procedure RunSQL(sSQL : String);
    var
    qrySQL : TADOQuery;
    begin
    qrySQL := TADOQuery.Create(Application);
    try
    qrySQL.Connection := adoConnection;
    qrySQL.SQL.Clear;
    qrySQL.SQL.Text := sSQL;
    qrySQL.ExecSQL;
    finally
    qrySQL.Free;
    end;

  2. ridwan Says:

    Wah.. ni dia sang jagoan pascal..
    oke mas.. always use try and finally..๐Ÿ™‚

  3. hasan Says:

    siip..siip… jos๐Ÿ™‚

  4. Bee Says:

    Thanks ya. Krn posting ini, aku jadi tau kalo WP.com yg baru udah built-in support buat syntax highlighting. Maklum, udah lama gak ngikutin perkembangan WP.๐Ÿ™‚ Walaupun rada oon juga sih algoritmanya, soalnya case sensitive. Dasar programmer PHP.๐Ÿ˜› Tapi daripada gak ada sama sekali, ya lumayan lah.๐Ÿ˜€

  5. ridwan Says:

    hik..hik.. daku juga gak pernah buka wp sebelumnya. cuman sekarang lagi demen wp wp-an.๐Ÿ™‚ banyak kok om, languange yang support syntax highlighter nya..

  6. einsthonk Says:

    wuiiih keren…tetep semangat terus deh pokoknya…!!!!

  7. ridwan Says:

    @einsthonk
    apanya yang mantab bro… ๐Ÿ˜€
    xixiixii… pokoknya mantab yach..๐Ÿ™‚

  8. zUq Says:

    klo misal pake dbExpress gimana buat kodingnya (bukan langsung k componentya)


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: