Membuat Koneksi ke Database Access dengan ADO di Delphi 7 - Untuk
keperluan administrasi data baik bersifat lokal ataupun client to
client tentunya diperlukan cara untuk mengkoneksikannya ke sumber data
dari aplikasi yang kita buat.
Ada banyak aplikasi database baik yang bersifat free ataupun berbayar,
salah satu yang familiar yaitu bawaan Microsoft Office yaitu Microsoft
Access.
Pada postingan kali ini admin coba untuk menjelaskan satu cara untuk
mengkoneksikan aplikasi dengan Delphi ke Database Access dengan ADO.
Untuk lebih jelasnya dibuat sebuah aplikasi dengan Delphi 7 seperti
berikut ini,
Namun sebelumnya buat dulu sebuah Database dengan Microsoft Access, dengan ketentuan seperti berikut :
- Buat database dengan nama database1.mdb
- Buat table dengan nama DaftarNama, field-field dan isinya silahkan tentukan sendiri.
- Tempatkan database1.mdb di folder WINDOWS, contoh di C:\WINDOWS
Sekarang langsung kita buat aplikasinya di delphi,
- Pertama tempatkan TBitBtn, TDBGrid, TADOConnection, TADOTable dan TDataSource pada Form.
- Deklarasikan pada private seperti berikut,
private
{ Private declarations }
FolderWindows : string;
function GetWinDir: string;
- Buat sebuah function seperti berikut,
function TForm1.GetWinDir: string;
var
dir: array [0..MAX_PATH] of Char;
begin
GetWindowsDirectory(dir, MAX_PATH);
Result := StrPas(dir);
end;
- Tambahkan script pada event OnCreate dari form sperti berikut ini,
procedure TForm1.FormCreate(Sender: TObject);
var
linkdb : string;
begin
BitBtn1.Caption := 'Tampilkan Data';
FolderWindows := GetWinDir;
ADOConnection1.LoginPrompt := False;
ADOTable1.TableName := 'DaftarNama';
//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;
ADOTable1.Connection:= ADOConnection1;
ADOTable1.Active := True;
except
on e:Exception do begin
MessageDlg('Gagal mengakses database' +#13+#10+
'Detail : ' +e.Message,mtWarning,[mbOK],0);
end;
end;
end;
- Tambahkan pada event OnClick dari BitBtn1 seperti berikut ini,
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
//Menampilkan data dari ADOTable1
DataSource1.DataSet := ADOTable1;
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;
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
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;
ADOTable1.TableName := 'DaftarNama';
//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;
ADOTable1.Connection:= ADOConnection1;
ADOTable1.Active := 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
//Menampilkan data dari ADOTable1
DataSource1.DataSet := ADOTable1;
DBGrid1.DataSource := DataSource1;
end;
end.
Tidak mau repot silahkan download source lengkapnya di link di bawah ini :
Membuat Koneksi ke Database Access dengan ADO di Delphi 7