cara menggunakan tadoquery di delphi
DESCRIPTION
Langkah ke 1 : Mebuat Database presensi.sqla. Masuk ke mysql console dan ketikan perintah :mysql>create database presensi; b. Kemudian kita buat table admin dengan mengetikkan perintah : mysql> create table admin( -> id varchar(20), -> password varchar(20), -> judul_presensi varchar(50)); c. Kemudian kita buat table pegawai dengan mengetikan perintah : mysql> create table pegawai( -> nip varchar(10), -> nama_pegawai varchar(20), -> j_kel char(1), -> alamat varchar(50), -> no_telp varchar(13), -> sandi varchar(20), primary key(nip)); d. Kemudian kita buat table rekap_presensi dengan mengetikan perintah : mysql> create table rekap_presensi( -> nip varchar(10), -> nama_pegawai varchar(20), -> tanggal date, -> jam_datang time, -> jam_pulang time,TRANSCRIPT
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.