Cara Menggunakan TADOQuery di Delphi


Cara Menggunakan TADOQuery di Delphi - Pada posting sebelumnya tentang Membuat Koneksi ke Database Access dengan ADO telah dibahas penggunaan ADOConnection untuk mengkoneksikan aplikasi yang dibuat dengan Delphi dengan database Microsoft Access. Pada aplikasi yang dibuat digunakan TADOTable untuk mengakses tabel pada database yang dibuat.

Pada kesempatan ini akan dibahas cara pengguaan TADOQuery, dengan fungsi yang sama dengan TADOTable tentunya bisa dijadikan pilihan dalam mengakses tabel-tabel yang ada di database.
Sama dengan aplikasi yang dibuat sebelumnya jadi cukup mengedit beberapa bagian saja, namun pada aplikasi ini digunakan TADOQuery (jika masih bingung silahkan baca Membuat Koneksi ke Database Access dengan ADO). Jika sebelumnya ditempatkan TADOTable maka untuk aplikasi sekarang ganti dengan menempatkan TADOQuery pada Form (Hapus TADOTable pada aplikasi sebelumnya)
  • Ubah isi pada event OnCreate dari Form menjadi seperti berikut,
           procedure TForm1.FormCreate(Sender: TObject);
           var
             linkdb : string;
           begin
             BitBtn1.Caption := 'Tampilkan Data';
             FolderWindows := GetWinDir;
             ADOConnection1.LoginPrompt := False;
          
             //koneksikan ke database access database1.mdb
             linkdb := FolderWindows+ '\Database1.mdb';
             with ADOConnection1 do begin
               Connected := False;
               LoginPrompt := False;
               Mode := cmShareDenyNone;
               ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;'+
                 'Data Source='+linkdb+';Mode=Share Deny None;Extended Properties="";'+
                 'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
                 'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;'+
                 'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
                 'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
                 'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
                 'Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;'+
                 'Jet OLEDB:SFP=False';
             end;
             try
               ADOConnection1.Connected := True;
             except
               on e:Exception do begin
                 MessageDlg('Gagal mengakses database' +#13+#10+
                    'Detail : ' +e.Message,mtWarning,[mbOK],0);
               end;
             end;
           end;
  • Kemudian ubah pada event OnClick dari TBitBtn1 menjadi seperti berikut,
           procedure TForm1.BitBtn1Click(Sender: TObject);
           begin
             ADOQuery1.Connection := ADOConnection1;
             try
               ADOQuery1.SQL.Text := 'select * from DaftarNama';
               ADOQuery1.Open;
             except
               on e:eDatabaseError do begin
                 MessageDlg('Gagal menampilkan data' +#13+#10+
                   'Detail : ' +e.Message,mtWarning,[mbOK],0);
                 exit;
               end;
             end;
             DataSource1.DataSet := ADOQuery1;
             DBGrid1.DataSource := DataSource1;
           end;



Berikut script lengkapnya,

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DbChart,
  DB, DBTables, FileCtrl, Buttons, jpeg, ADODB, Grids, DBGrids, DBCtrls;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    BitBtn1: TBitBtn;
    ADOQuery1: TADOQuery;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
    FolderWindows : string;
    function GetWinDir: string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.GetWinDir: string;
var
  dir: array [0..MAX_PATH] of Char;
begin
  GetWindowsDirectory(dir, MAX_PATH);
  Result := StrPas(dir);
end;


procedure TForm1.FormCreate(Sender: TObject);
var
  linkdb : string;
begin
  BitBtn1.Caption := 'Tampilkan Data';
  FolderWindows := GetWinDir;
  ADOConnection1.LoginPrompt := False;

  //koneksikan ke database access database1.mdb
  linkdb := FolderWindows+ '\Database1.mdb';
  with ADOConnection1 do begin
    Connected := False;
    LoginPrompt := False;
    Mode := cmShareDenyNone;
    ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;'+
      'Data Source='+linkdb+';Mode=Share Deny None;Extended Properties="";'+
      'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
      'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;'+
      'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
      'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
      'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
      'Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;'+
      'Jet OLEDB:SFP=False';
  end;
  try
    ADOConnection1.Connected := True;
  except
    on e:Exception do begin
      MessageDlg('Gagal mengakses database' +#13+#10+
         'Detail : ' +e.Message,mtWarning,[mbOK],0);
    end;
  end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ADOQuery1.Connection := ADOConnection1;
  try
    ADOQuery1.SQL.Text := 'select * from DaftarNama';
    ADOQuery1.Open;
  except
    on e:eDatabaseError do begin
      MessageDlg('Gagal menampilkan data' +#13+#10+
        'Detail : ' +e.Message,mtWarning,[mbOK],0);
      exit;
    end;
  end;
  DataSource1.DataSet := ADOQuery1;
  DBGrid1.DataSource := DataSource1;
end;

end.

Perlu source-nya, silahkan download pada link di bawah ini :
Cara Menggunakan TADOQuery di Delphi


Ketentuan :
Teman-teman boleh menyebarkan tulisan ini dengan mencantumkan link berikut :
sumber : http://andsc.blogspot.com

<<<< Terima kasih >>>>


Article :

0 komentar:

Tentang Saya

Pengunjung