Skip to main content

Delphi-DB: Form Input Sederhana


Contoh input data pada form delphi setelah sebelumnya cuma pembacaan data :
1. Atur database:
- Database: dbQ
- tabel: tDosen
- Field: FKode[A][*], FNama[A], FAlamat[A], FTglLahir[D]
2. Buat Form:
- Nama Form: Form2
- Label: Label1, Label2, Label3, Label4
- Edit: Edit1, Edit2, Edit3
- DateTimePicker: DateTimePicker1
- Button: Button1, Button2, Button3
- Table: Table1
- Query: Query1
- DataSource: DataSource1
- DBGrid: DBGrid1
- DBNavigator: DBNavigator1
3. Ubah Kodenya:

//Source Lengkapnya:
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids,
ComCtrls;

type
TForm2 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Table1: TTable;
Query1: TQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button3: TButton;
DateTimePicker1: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
Contoh input data pada form delphi setelah sebelumnya cuma pembacaan data :
1. Atur database:
- Database: dbQ
- tabel: tDosen
- Field: FKode[A][*], FNama[A], FAlamat[A], FTglLahir[D]
2. Buat Form:
- Nama Form: Form2
- Label: Label1, Label2, Label3, Label4
- Edit: Edit1, Edit2, Edit3
- DateTimePicker: DateTimePicker1
- Button: Button1, Button2, Button3
- Table: Table1
- Query: Query1
- DataSource: DataSource1
- DBGrid: DBGrid1
- DBNavigator: DBNavigator1
3. Ubah Kodenya:

//Source Lengkapnya:
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids,
ComCtrls;

type
TForm2 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Table1: TTable;
Query1: TQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button3: TButton;
DateTimePicker1: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Kosongkan();
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
table1.DatabaseName := 'dbQ' ;
table1.TableName := 'tDosen.db';
table1.Active:= true;
datasource1.DataSet:= table1;
Query1.DataSource:=DataSource1;
Query1.Active:=false;
dbgrid1.DataSource := datasource1;
dbNavigator1.DataSource:=datasource1;
label1.Caption:='Kode';
label2.Caption:='Nama';
label3.Caption:='Alamat';
button1.Caption:='Simpan';
button2.Caption:='Hapus';
button3.Caption:='Batal';
edit1.text:='';
Form2.Caption:='Form Input Dosen';
Kosongkan();
end;

procedure TForm2.Button1Click(Sender: TObject);
var
str1:String;
begin
with Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT count(*) as jml FROM tDosen WHERE FKode = :f1 ');
Params[0].AsString:=Edit1.Text;
Active:=true;
Open;

if Query1['jml']<>NULL then //Mencegah error apabila tabel masih kosong
str1:=Query1['jml']
else
str1:='0';

Active:=False;
end;
if strtoint(str1)>0 then
begin
table1.FindNearest([edit1.Text]);
table1.Edit;
table1.Fields[1].AsString:=
edit2.Text;
table1.Fields[2].AsString:=
edit3.Text;
table1.Fields[3].AsDateTime:=
DateTimePicker1.DateTime;
table1.Post;
end
else
begin
table1.InsertRecord([edit1.text,edit2.text,edit3.text,DateTimePicker1.Date]);
end;
kosongkan;
edit1.SetFocus;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
table1.FindNearest([edit1.Text]);
table1.Delete;
kosongkan;
end;
procedure TForm2.Kosongkan();
begin
edit2.text:='';
edit3.text:='';
//edit1.SetFocus;
end;
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
var
str1:String;
begin
if Key=#13 then
begin

with Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT count(*) as jml FROM tDosen WHERE FKode = :f1 ');
Params[0].AsString:=Edit1.Text;
Active:=true;
Open;

if Query1['jml']<>NULL then //Mencegah error
str1:=Query1['jml']
else
str1:='0';

Active:=False;
end;
if strtoint(str1)>0 then
begin
table1.FindNearest([edit1.Text]);
edit2.Text:=table1.Fields[1].AsString;
edit3.Text:=table1.Fields[2].AsString;
DateTimePicker1.DateTime:=table1.Fields[3].AsDateTime;
end;
edit2.SetFocus;
end;
end;

procedure TForm2.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
edit3.SetFocus;
end;
end;

procedure TForm2.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
DateTimePicker1.SetFocus;
end;
end;

procedure TForm2.DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
button1.SetFocus;
end;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
kosongkan;
end;

end.
kakashifull

Comments

  1. Bisa minta tolong untuk memberikan pencerahan untuk melakukan konversi database dari DBF ke MySQL yang sederhana. misalnya kita membuat tombol browse untuk membuka file DBF nati pada textboxt disamping browse akan ada path tempT databasenya, setelah itu akan ada tmbol import untuk membuka file dbf n dimunculin ke datagrid dibawahnya. mohon bantuannya dikirim ke email saya di ary_ultimatexz@yahoo.com

    ReplyDelete
  2. Pelajari koneksi ke dbf/paradox db dan koneksi ke mysql, yang jelas caranya sama yang berbeda cuma driver yang digunakan. Setelah itu ambil data dari dbf, tampilkan, insert ke mysql.
    Mudah saja apabila sifatnya statis untuk eksport data dari dua buah database. Yang jadi masalah adalah apabila ingin membuat aplikasi yang sifatnya dinamis untuk database dan tabel yang berbeda seperti halnya appQuery. Jadi perlu dipikirkan juga untuk mendapat jumlah field dan tipe datanya di tabel asal kemudian membuat tabel di database yang baru, serta mengkonversi antar tipe data yang sejenis. Dari alphanumeric ke varchar, numeric ke double, dan seterusnya.
    Gitu deh prinsipnya. Belum ada rencana untuk membuat aplikasi ini dalam waktu dekat, jadi dipelajari sendiri aja dulu yah...

    ReplyDelete
  3. bagaimana jika data yg telah diinput tersimpan di database mysql ??

    ReplyDelete
  4. @MuthyMut
    Gunakan koneksi odbc
    http://www.havetogether.com/koneksi-database-mysql-dengan-delphi.html

    ReplyDelete
  5. Respect and that i have a neat present: How Much Is House Renovation Loan In Pag Ibig victorian renovation

    ReplyDelete

Post a Comment

Popular posts from this blog

KISS: Complete Ubuntu Server Configuration

The Simplest way to install and configure our Ubuntu Server Edition. With this step-by-step manual instalation, we can configure Network, Internet, APT instalation source, XAMPP for Linux, Apache Web server, ProFtpd Ftp Server, PHP, MySql Database Server, Samba file sharing, Squid proxy server. A. Network And Internet Configuration 1. Intall Ubuntu Server Edition, I prefer using 8.04 LTS, a stable build with long time support, even better than the newer ones, in my opinion. Login as root or use this command to become root for user in sudoers list. # sudo su 2. Now, Change the hostname # pico /etc/hosts 127.0.0.1 localhost //Don't change this 192.168.1.12 hercules //Change with your ip address and hostname ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts 3. Make configuration for network interfaces # pico /etc/network/interfaces # This file describes the network interfaces available on your s...

Pembuatan PDF di PHP dengan FPDF dan HTML2FPDF

Untuk membuat pdf dengan menggunakan php, kita bisa menggunakan fpdf yang berbasis class. Sedangkan html2fpdf digunakan untuk mengubah html menjadi pdf. Dengan hanya menggunakan fpdf, kita harus menentukan semua hal yang mengatur tampilannya berbasis code sesuai dengan aturan dan fungsi yang disediakan class tersebut. Dengan menggunakan html2fpdf, kita cuma perlu membuat sebuah file html dan tampilannya langsung diubah menjadi sebuah file pdf, tentu dengan beberapa keterbatasan dan perubahan tampilan. Saat ini, fpdf terbaru pada versi 1.6 sedangkan html2fpdf versi 3. Instalasi: + Ekstrak file fpdf dan html2fpdf. Sebenarnya html2fpdf merupakan inheritance dari class fpdf, tapi class di fpdf yang disdertakan di paket html2fpdf telah dimodifikasi dari aslinya sesuai dengan kebutuhan konversi tersebut. Class original dari fpdf akan kita pakai untuk pembuatan pdf secara manual, bukan dari html. + Ganti nama file fpdf.php misalkan menjadi fpdf16.php. Karena untuk bebrapa versi instalasi php ...

JarMaker & j2Exe: Membuat Executable Aplikasi Java

Lupakan mitos java tidak bisa dijalankan secara langsung. Jangan percaya kalau ada yang bilang java tidak bisa dibuat menjadi aplikasi exe. Kuno kalo masih menggunakan file jar saja atau bahkan file class untuk hasil building aplikasi java. Cobalah untuk sedikit berimprovisasi membuat aplikasi java menjadi exe, hal yang tidak bisa dilakukan oleh tools yang disediakan jdk, bahkan netbeans 6 saat ini. Hasil binary compiler java berupa file class, yang dijalankan dengan perintah java namaclass. Jadi paling tidak untuk menjalankannya harus melalui command prompt, atau yang sedikit kreatif dengan membuat shortcut yang diarahkan ke java.exe dengan parameter nama class yang dipanggil, lengkap dengan pengubahan icon sesuai dengan aplikasinya. Sun sendiri mengembangkan file arsip kompresi jar, mirip dengan format zip, dengan tool yang disediakan di jdk-nya,untuk menghasilkan sebuah file yang berisi seluruh class yang dibutuhkan, sehingga dapat dilakukan pemanggilan dengan class yang pertama...