Senin, 08 Juli 2013

vb - Membuat Login dengan database



Bagaimana Membuat Form Login dengan username dan password dari database
Database yang digunakan dalam contoh ini adalah Ms.Access.
Sebenarnya logika sederhana nya adalah membandingkan input dari user dengan data yang tersimpan pada database jika sama maka form utama muncul,jika salah Form Login akan mereset.
karena dari logika itulah pengimplementasian coding pada program tergantung dari programmer masing-masing.
*Sebelumnya buat database di Ms.Access dengan tabel seperti berikut
  Nama Table: login
  username      password      status
admin              123456          admin
  operator           123456         operator
  user                 123456          user
  fajar                 delphi            admin
tambahkan berapapun record yang anda mau.
simpan dengan nama data.mdb letakan satu folder dengan file exe.
*Buatlah Desgin Form seperti berikut:

*Tambah kan sebuah Data Module kira2 seperti screen shoot berikut:

disini saya tidak akan menjelaskan masalah pengkoneksian karena saya asumsikan anda sudah mampu mengkoneksikan database.
{Properties name dari masing2 component adalah sama seperti screen shoot data modul.}
*Tambahkan sebuah Form baru dan design lah kira2 seperti berikut:
   Ubah status Form2 menjadi available form (Project Options/Shift+Ctrl+F11).

*Now Lets Coding,
Code pada Unit2/Form Login
tambahkan sebuah variable string dan sebuah class procedure:
public
path:string;
class function Execute : word;
end;
     Berikut adalah Code Implementasi dari Unit2/Form Login
implementation
uses modul, Unit1;//uses unit1(form utama dan unit data modul)
{$R *.dfm}
{ TForm2 }
class Function TForm2.Execute:word;
begin
  with TForm2.Create(nil) do
  result:=Showmodal;
end;
procedure TForm2.FormShow(Sender: TObject);
begin{pengkoneksian database}
dm.Con.LoginPrompt:=false;
dm.Con.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+path+'data.mdb;Persist Security Info=False';
dm.Con.Connected:=true;
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
Form2:=nil;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin {bandingkan input user dengan data yang terdapat pada database}
with dm.Query do begin
    Close;
    SQL.Clear;
    SQL.Text:='select * from login where username='+quotedstr(edit1.Text);
    Open;
  end;{Jika Username ditemukan atau tidak}
  if dm.Query.RecordCount = 0 then //jika lenih dari 0 berarti username ditemukan
     showmessage('username tidak ada') //jika tidak ditemukan
  else begin{jika username ditemukan}
    if dm.Query.FieldByName('password').AsString <> edit2.Text
      then showmessage('pastikan username dan password benar')
  else close;
  end;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
Code pada Unit1/Main Form
langsung saja dari section implementation.

implementation
uses modul, Unit2;
{$R *.dfm}
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin {selalu memutuskan koneksi setiap program ditutup}
dm.Con.Connected:=false;
end;
procedure TForm1.FormShow(Sender: TObject);
begin{gak usah dijelasin anda pasti paham kan}
label1.Caption:='WELCOME '+dm.Query.fieldbyname('status').AsString;
end;
end.
Pada Unit DataModule karena ini sederhana tidak diperlukan coding.
Belum selesai boss,ini langkah terakhir..dari Unit Project anda
Begin
Application.Initialize;
  Application.CreateForm(Tdm, dm);//unit datamodule dipindahkan ke atas
  TForm2.Execute;// Procedure dari class TForm2 tadi di eksekusi sblm main form create
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Jalankan program.Jika ada pertanyaan silahkan trace sendiri .
source http://vbsource-code.blogspot.com/2011/06/136075934512025.html

Tidak ada komentar:

Poskan Komentar