Anda di halaman 1dari 35

Contoh Listing Untuk tombol Add

procedure TForm1.addClick(Sender: TObject);


begin
pagecontrol1.TabIndex:=0;
kosong(sender);
edit.SetFocus;
cekbutton(false);
end;

Contoh Listing Untuk tombol Edit


procedure TForm1.editClick(Sender: TObject);
begin
edit1.Text:= tfrom1['edit1'];
edit2.Text:= tfrom1['edit2'];
edit3.Text:= tfrom1['edit3'];
edit4.Text:= tfrom1['edit4'];
edit5.Text:= tfrom1['edit5'];
pagecontrol1.TabIndex:=0;
edit.setfocus;
end;

Contoh Listing Untuk Tombol Save


procedure TForm1.saveClick(Sender: TObject);
begin
if edit1.text='' then
begin
showmessage('menampilkan pesan pada edit1');
edit1.setfocus;
end else
if edit2.text='' then
begin
showmessage('menampilkan pesan pada edit2');
edit2.setfocus;
end else
if edit3.text='' then
begin
showmessage('menampilkan pesan pada edit3');
edit3.SetFocus;
end else
if edit4.text='' then
begin
showmessage('menampilkan pesan pada edit4');
edit4.SetFocus;
end else
if edit5.text='' then
begin
showmessage('menampilkan pesan pada edit5');
edit5.SetFocus;
end else
begin
if not tfrom.Locate('page',edit.Text,[]) then
tfrom.append
else
tfrom.edit;
tfrom.fieldbyname('edit1').Value:=edit1.Text;
tfrom.fieldbyname('edit2').Value:=edit2.Text;
tfrom.fieldbyname('edit3').Value:=edit3.Text;
tfrom.fieldbyname('edit4').Value:=edit4.Text;
tfrom.fieldbyname('edit5').Value:=edit5.Text;
tfrom.post;
kosong(sender);
pagecontrol1.TabIndex:=1;
end;
end;

Contoh Listing Untuk Tombol Delete


procedure TForm1.deleteClick(Sender: TObject);
var
str:string;
begin
str:='Anda yakin '+tfrom.Fields[1].AsString+' mau anda hapus?';
if (Application.MessageBox(Pchar(str),'Peringatan',MB_YESNO or
MB_ICONQUESTION)=IDYES) then
tfrom.Delete;
end;

Contoh Listing Untuk Tombol Close


procedure Tfrmbarang.btncloseClick(Sender: TObject);
begin
close;
end;
 Beranda

 Aplikasi Gratis

 Project

 Kontak

 Tentang
Search: typ Cari
Programming Learning
Free IT e-learning

[Delphi] Penyimpanan Data ke Database Secara Massal


68 KomentarPosted by Tigor Manurung pada Mei 15, 2009

Tutorial ini saya buat sebenarnya menanggapi banyaknya pertanyaan2 baik melalui ym ato email bahkan temen2
sendiri ada yg telepon menanyakan bagaimana caranya menyimpan data input dari aplikasi ke database dalam
1x klik maka akan menyimpan seluruh data yang tertampung sebelumnya, mungkin hal ini dapat diakali dengan
cara membuat suatu table temporary dan kemudian isi dari table temporary tersebut dimasukkan ke tabel
sebenarnya tapi saya bilang hal ini sangat merepotkan, sebelum memasuki topik utamanya, terlebih dahulu saya
akan menjelaskan tentang kegunaan penyimpanan data secara massal ini, mungkin bagi yang masih kuliah akan
mengalami hal ini ketika contohnya mengerjakan tugas membuat suatu aplikasi peminjaman dimana ketika satu
anggota dapat meminjam lebih dari 1 barang, nah disini akan dibahas cara untuk menyimpannya dalam 1 klik

saja. tentunya dengan menggunakan Delphi , sebelumnya diinformasikan bahwa tutorial ini
mengasumsikan temen-temen telah dapat mengkoneksikan antara aplikasi dengan database, database yang
akan dicontohkan yaitu adalah MySQL. apabila temen-temen belum dapat mengkoneksikannya maka alangkah
baiknya temen-temen membaca artikel sebelumnya
di https://programminglearning.wordpress.com/2009/05/02/delphi-koneksi-delphi-mysql-dengan-menggunakan-
zeos/ .
Sekarang kita akan memulai untuk proses pembuatannya, pertama kita siapkan terlebih dahulu rancangan
database dimana saya memberi nama databasenya “db_vcd”, saya tidak akan membuat aplikasi yang kompleks
melainkan hanya sesuai dengan topik yang dibahas, adapun rancangan database hanya melingkupi peminjaman
saja, untuk barang dan lainnya akan saya buat sebagai data statis. berikut ini adalah rancangannya tabelnya :

nah, selanjutnya kita membuat suatu form, disini untuk menyimpan data-data transaksi saya akan memakai
TStringGrid, berikut ini adalah rancangan formnya :
Berbeda dengan tutorial sebelumnya, sekarang saya menggunakan Delphi 7 untuk praktiknya hal ini
karena pertimbangan saya masih banyak programmer delphi yang menggunakan versi 7 untuk belajar. seperti
yang kita lihat rancangan form di atas dalam koneksi dengan MySQL menggunakan Zeos dan sekali lagi bagi
yang belum mengerti mengenai koneksi Aplikasi ke MySQL dengan menggunakan zeos silahkan membaca
tutorial saya yang sebelumnya, untuk rancangannya sendiri, file rancangannya adalah sbb :

1 object frmMain: TfrmMain

2 Left = 303
Top = 177
3
BorderStyle = bsDialog
4
Caption = 'Penyimpanan Data Secara Massal'
5
ClientHeight = 403
6 ClientWidth = 629
7 Color = clBtnFace
8 Font.Charset = DEFAULT_CHARSET

9 Font.Color = clWindowText
Font.Height = -11
10
Font.Name = 'Tahoma'
11
Font.Style = []
12
13 OldCreateOrder = False

14 Position = poDesktopCenter
OnCreate = FormCreate
15
PixelsPerInch = 96
16
TextHeight = 13
17
object Label1: TLabel
18 Left = 16
19 Top = 40
20 Width = 93

21 Height = 13
Caption = 'Tanggal Transaksi :'
22
end
23
object Label2: TLabel
24
Left = 37
25 Top = 13
26 Width = 72
27 Height = 13

28 Caption = 'No. Transaksi :'

29 end
object Label3: TLabel
30
Left = 320
31
Top = 40
32
Width = 99
33 Height = 13
34 Caption = 'Tanggal Kembali :'
35 Font.Charset = DEFAULT_CHARSET

36 Font.Color = clWindowText
Font.Height = -11
37
Font.Name = 'Tahoma'
38
Font.Style = [fsBold]
39
ParentFont = False
40
end
41 object Label4: TLabel
42 Left = 323

43 Top = 13

44 Width = 96
45 Height = 13

46 Alignment = taRightJustify
Caption = 'Anggota Peminjam :'
47
end
48
object dpPinjam: TDateTimePicker
49
Left = 115
50 Top = 37
51 Width = 186
52 Height = 21

53 Date = 39948.274073159720000000
Time = 39948.274073159720000000
54
TabOrder = 0
55
OnChange = dpPinjamChange
56
end
57 object edNota: TEdit
58 Left = 115
59 Top = 10

60 Width = 186

61 Height = 21
TabOrder = 1
62
end
63
object dpKembali: TDateTimePicker
64
Left = 425
65 Top = 37
66 Width = 186
67 Height = 21

68 Date = 39948.274073159720000000
Time = 39948.274073159720000000
69
TabOrder = 2
70
end
71
object cbAnggota: TComboBox
72
Left = 425
73 Top = 10
74 Width = 186

75 Height = 21

76 Style = csDropDownList
77 ItemHeight = 13

78 TabOrder = 3
Items.Strings = (
79
'Tigor Mangatur Manurung'
80
'Heri Wersyadi'
81
'Hendra Purwanto'
82 'Susi Simelekete'
83 'Andi Purnama')
84 end

85 object Panel1: TPanel


Left = 16
86
Top = 80
87
Width = 595
88
Height = 273
89 BevelOuter = bvLowered
90 TabOrder = 4
91 object Label5: TLabel

92 Left = 21

93 Top = 8
Width = 71
94
Height = 13
95
Caption = 'Nama Barang :'
96
end
97 object sgData: TStringGrid
98 Left = 21
99 Top = 40

100 Width = 556


Height = 217
101
ColCount = 2
102
FixedCols = 0
103
RowCount = 2
104
ScrollBars = ssVertical
105 TabOrder = 0
106 ColWidths = (

107 105

108 420)
109 end

110 object cbBarang: TComboBox


Left = 98
111
Top = 5
112
Width = 383
113
Height = 21
114 Style = csDropDownList
115 ItemHeight = 13
116 TabOrder = 1

117 end
object btnTambah: TButton
118
Left = 487
119
Top = 3
120
Width = 90
121 Height = 25
122 Caption = 'Tambah'
123 TabOrder = 2

124 OnClick = btnTambahClick

125 end
end
126
object btnSimpan: TButton
127
Left = 455
128
Top = 368
129 Width = 75
130 Height = 25
131 Caption = '&Simpan'

132 TabOrder = 5
OnClick = btnSimpanClick
133
end
134
object btnBatal: TButton
135
Left = 536
136
Top = 368
137 Width = 75
138 Height = 25

139 Caption = '&Batal'

140 TabOrder = 6
141 OnClick = btnBatalClick

142 end
object zConn: TZConnection
143
Protocol = 'mysql'
144
HostName = 'localhost'
145
Port = 3308
146 Database = 'db_vcd'
147 User = 'root'
148 Connected = True

149 Left = 16
Top = 368
150
end
151
object qAct: TZQuery
152
Connection = zConn
153 Params = <>
154 Left = 48
155 Top = 368

156 end

157 end

158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176

Karena akan terlalu banyak yang diterangkan, maka saya langsung kepada kode pada unitnya, tetapi jangan
khawatir karena saya telah menyertakan komentar-komentar supaya lebih mudah memahami maksud dalam

setiap sintak yang ada

1 unit uMain;

2
3 interface

4
uses
5
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
6
Dialogs, StdCtrls, Grids, ExtCtrls, ComCtrls, ZConnection, DB,
7
ZAbstractRODataset, ZAbstractDataset, ZDataset;
8
9 type
10 TfrmMain = class(TForm)
11 Label1: TLabel;

12 dpPinjam: TDateTimePicker;
Label2: TLabel;
13
edNota: TEdit;
14
Label3: TLabel;
15
dpKembali: TDateTimePicker;
16 Label4: TLabel;
17 cbAnggota: TComboBox;
18 Panel1: TPanel;

19 sgData: TStringGrid;

20 Label5: TLabel;
cbBarang: TComboBox;
21
btnTambah: TButton;
22
btnSimpan: TButton;
23
btnBatal: TButton;
24 zConn: TZConnection;
25 qAct: TZQuery;

26 procedure FormCreate(Sender: TObject);


procedure btnBatalClick(Sender: TObject);
27
procedure btnTambahClick(Sender: TObject);
28
procedure dpPinjamChange(Sender: TObject);
29
procedure btnSimpanClick(Sender: TObject);
30 private
31 function GenCode: string; //fungsi auto no.nota
32 procedure RunSQL(_SQL: string ; isOpen: boolean = True);

33 { Private declarations }
public
34
{ Public declarations }
35
end;
36
CONST
37 lama_pinjam_hari = 7; //lama pinjam adalah 7 hari
38 var
39 frmMain: TfrmMain;

40 iRow: integer; //variabel indikator jumlah baris

41
42 implementation

43
{$R *.dfm}
44
45
procedure TfrmMain.FormCreate(Sender: TObject);
46
var
47
ch: char;
48 begin
49 //variabel jumlah baris
50 iRow := 2;

51 //Pembuatan judul kolom grid


with sgData do
52
begin
53
Cells[0,0] := 'No. Nota';
54
Cells[1,0] := 'Nama Barang';
55
end;
56 //buat simulasi nama barang
57 for ch := 'A' to 'Z' do

58 begin
cbBarang.Items.Add('Barang - ' + ch);
59
end;
60
61
//set tanggal pinjam menjadi tanggal hari ini
62
dpPinjam.Date := NOW;
63
64 //set tanggal kembali secara default
65 dpKembali.Date := Now + lama_pinjam_hari;
66
67 //munculkan nota

68 edNota.Text := GenCode;
end;
69
70
function TfrmMain.GenCode: string;
71
CONST
72
zero = '0000';
73 var
74 strTemp: string;
75 begin

76 //Format Nota adalah N-0001

77
78 //liat no.nota terakhir dari tb_pinjam
RunSQL('SELECT idpinjam FROM tb_pinjam ORDER BY idpinjam DESC LIMIT 1');
79
80
//cek apakah udah ada data dalam tabel, kalo belum hasilkan nilai pertama seperti
81
//pada contoh
82
if qAct.Eof then
83 begin
84 result := 'N-0001';
85 exit; //stop sampe disini saja perintahnya,

86 end;

87
//jika memasuki baris ini, maka berarti telah ada data dalam tabel dan saatnya unt
88
89 //melakukan filtering

90 strTemp := Copy(qAct.FieldByName('idpinjam').AsString,3,4); //potong data yang dit


//karakter yg dipotong adalah 4 (sampai akhir format no.nota)
91
92
strTemp := IntToStr(StrToInt(strTemp) + 1);//dah ketemu nilai berikutnya
93
94
strTemp := 'N-' + Copy(zero,1,Length(zero) - Length(strTemp)) + strTemp;
95
result := strTemp;
96
97 end;
98
99 procedure TfrmMain.btnBatalClick(Sender: TObject);
100 begin

101 Application.Terminate;
end;
102
103
procedure TfrmMain.btnTambahClick(Sender: TObject);
104
begin
105
//validasi ketika pilihan kosong, maka abaikan perintah penambahan
106 if cbBarang.ItemIndex < 0 then
107 exit; //supaya tidak menjalankan perintah selanjutnya ketika tidak ada barang yg
108
109 //identifikasikan jumlah baris

110 sgData.RowCount := iRow;

111
112 //isikan data sesuai pilihan ke dalam grid
with sgData do
113
begin
114
Cells[0,RowCount - 1] := edNota.Text;
115
Cells[1,RowCount - 1] := cbBarang.Text;
116 end;
117
118 //bersihkan isi cbBarang
119 cbBarang.ItemIndex := -1; //karena style DropDownList, maka membersihkannya dengan

120
121 //tambah jumlah baris

122 Inc(iRow,1);
end;
123
124
procedure TfrmMain.dpPinjamChange(Sender: TObject);
125
begin
126
//isikan secara default tanggal pengembalian, lama pinjam sesuai dengan konstanta
127 dpKembali.Date := dpKembali.Date + lama_pinjam_hari;
128 end;
129
130 procedure TfrmMain.RunSQL(_SQL: string; isOpen: boolean);

131 begin
with qAct do
132
begin
133
Close;
134
SQL.Text := _SQL;
135 if isOpen then
136 Open
137 else

138 ExecSQL;

139 end;
end;
140
141
procedure TfrmMain.btnSimpanClick(Sender: TObject);
142
var
143
i: integer;
144 _SQL: string;
145 begin
146 try

147 //simpan ke tabel tb_detpinjam dlu ya

148 for i:=1 to sgData.RowCount - 1 do //ini nih cara nyimpen massal yang sederhana, pak

149 begin //jadi disimpen per baris gitu, inget mulai baris 1 pada str
judul kolom!!!
150
_SQL := 'INSERT INTO tb_detpinjam(idpinjam,barang)VALUES(' + QuotedStr(sgData.
151 QuotedStr(sgData.Cells[1,i]) + ')';
RunSQL(_SQL,False); //eksekusi SQL
152
153 end;

154
155 //setelah selesai, dah simpen di tabel tb_pinjam
_SQL := 'INSERT INTO tb_pinjam(idpinjam,anggota,tglpinjam,tglkembali)VALUES(' +
156
QuotedStr(edNota.Text) + ',' + QuotedStr(cbAnggota.Text) + ',' + QuotedStr(FormatDa
157 dd',dpPinjam.Date)) +
158 ',' + QuotedStr(FormatDateTime('yyyy-mm-dd',dpKembali.Date)) + ')';

159 RunSQL(_SQL,False); //eksekusi SQL


Application.MessageBox('Data berhasil disimpan dengan sempurna!!!','Informasi',MB_
160
161
//generate no.nota selanjutnya
162
edNota.Text := GenCode;
163
164
//bersih - bersih...
165 iRow := 2;
166 with sgData do
167 begin

168 RowCount := iRow;

169 Cells[0,1] := ''; Cells[1,1] := '';


end;
170
171
except
172
Application.MessageBox('Data gagal disimpan dengan sempurna!!!','Peringatan',MB_
173
end;
174 end;
175
176 end.
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193

Untuk yang belum jelas atau berhasil silahkan download project jadi disini
Demikian tutorial ini semoga berguna bagi temen-temen semuanya…

Beri peringkat:

4 Votes
Terkait

[Delphi] Koneksi Delphi - MySQL dengan menggunakan ZEOSdalam "Delphi"


[PHP] Membuat Combobox dinamis dengan JQuerydalam "PHP"
[PHP] Studi Kasus Membuat Form Karyawan dengan jQuery (MySQL)dalam "PHP"

Delphi data massal, data massal - delphi, database delphi, database mysql
← Tutorial Download via Rapidshare[Delphi-Tips] Semua Tentang TEdit →

68 responses to “[Delphi] Penyimpanan Data ke Database


Secara Massal”

1. thetawvic Mei 15, 2009 pukul 1:19 am

bro ahli delphie ya, saya minta diajarkan donk, biasanya saya menggunakan VB tapi kelemahan vb adalah
aplikasi yg jadi tidak bisa dipake dikomputer yg ga ada vb nya.
klo saya nanya tolong dijawab ya, saya mau blajar delphi demi bangsa ini “berlebihan ya”

http://www.tawvic.co.cc

Balas
o erwin November 13, 2010 pukul 1:36 am

klo vb mo di pake di PC yg ga da VBnya harus dibikin paket aplikasinya dulu bro….


klo dah ada paket aplikasinya baru bisa diinstall seperti software yg lain… dan prog bisa jalan tanpa ada VB…

Balas

2. Tigor Manurung Mei 15, 2009 pukul 3:13 am

gak kq, msih cupu juga…yap klo bisa ntar dibantu

Balas

3. Herlambang Mei 20, 2009 pukul 1:02 pm

Waduw..
Boleh neh bagi-bagi ilmunya..

saya masih newbie neh

Balas

4. afdal Mei 24, 2009 pukul 2:20 pm

nice post

Balas

5. kurnia Mei 25, 2009 pukul 7:05 pm

ini kayak yang mau tak buat mas, tp masih rada2 mumet dikit. tp mayan lah ada gambaran. kasusnya juga
temp tabel buat kasir.

btw, mau nanya mas.


gini, misal aku ada cmbbox yang isine kode produk. nagh di sampingnya itu ada nama produk. kodeproduk
pake cmbbox,namaproduk pake tedit. nagh cmbbox sudah bs ambil data dari database. trus onchange di
teditnya gmn ya. kok aku bingung gmn mengeluarkan record dari zQuery.

aku coba edit1.text := zquery.fieldbyname(‘namabarang’).asString tp gak mau


Balas

6. Tigor Manurung Mei 25, 2009 pukul 7:10 pm

Untuk menampilkan nama barang berdasarkan kode di comboBox yang terpilih???caranya gini di event
OnChange ComboBox kodenya :
with ZQuery1 do
begin
Close;
SQL.Text := ‘SELECT namabarang WHERE kd_barang = “‘ + ComboBox1.Text + ‘”‘;
Open;

EditName.Text := FieldByName(‘namabarang’).AsString;
end;

Balas

7. Temmy Juni 4, 2009 pukul 4:28 am

thanks ya bro untuk tipsnya..

Balas

8. ahmad Juni 10, 2009 pukul 7:11 am

bro tolongin saya dong, lagi buat tgs akhir ni, klo buat aplikasi pake delphi7 dg database interbase gmanaya?

Balas

9. Tigor Manurung Juni 10, 2009 pukul 7:14 am

@Temmy: ok…sama-sama.
@ahmad: apanya yg gmn???

Balas

10. tanaka Juni 17, 2009 pukul 1:16 am

mas mo tanya nich cara klik check bok jika kita klik checknya maka uraian visible n itemnya di db grid enable
trus jika mo nambah item dengan satu kode gimana mas
Balas

11. Tigor Manurung Juni 18, 2009 pukul 6:24 am

@tanaka : mungkin dapat diterangkan lebih mendetail lagi…sapa tau byk yang mengalami hal ini supaya tak
buatin sklian tutorialnya…:)

Balas

12. prie Juni 20, 2009 pukul 12:59 am

Bang tigor… ane mo nanya klo db pake paradox max brp ribu record sech? bab aplikasi ane klo udah 2750
error klo di isi lagi… thx berat atas pencerahannya.

Balas

o Tigor Manurung Juni 22, 2009 pukul 4:00 am

klo ttg batasan record blon tau y…tapi setauku si klo cman 2750 msih bisa exists tuh,coba cek settingan BDE.

Balas

13. Saysansay Juli 24, 2009 pukul 1:59 am

Wah bro..ternyata dikau favorit juga

Balas

o Tigor Manurung Juli 24, 2009 pukul 8:37 am

@saysansay : wah lama neh gak denger kabar dikau :).

Balas

14. ekopewe@gmail.com Juli 27, 2009 pukul 5:59 am

bang tigor tanya…


saya punya data dari mikrokontroller.trus datanya dah bisa saya tampilkan lwt delphi.kl saya pgn nyimpen
(record)data itu misalnya tiap 10 menit selama 10 jam itu gmn?krn kan data itu berubah2 trs tiap
detik.misalnya gini bang… mulai ambil data jam 8 pagi.jadi data yg disimpan hanya data (nilai) pada jam
08.00,08.10,08.20,08.30, dst , sampai 16.00 misalnya.
tlg ya bang… thanx

Balas

o Tigor Manurung Juli 27, 2009 pukul 6:06 am

hmm…tergantung, apabila anda ingin menyimpan value tsb ke dlam database maka silahkan mempelajari
koneksi ke database dulu and algoritmanya

MicroController –> App –> DB

kemudian dari Database tersebut akan dapat ditampilkan oleh applikasi (gunakan DBGrid).

tetapi apabila hanya ingin monitoring biasa saja,bisa menggunakan stringgrid aja, saya rasa lebih mudah.

Balas

15. ddr Juli 27, 2009 pukul 11:40 pm

nice post..
mnta izin mmpelajari tutorial nya neh bang tigor..
sy jg da prtanyaan ne bang.. kalo cara bikin file installer aplikasi database supaya langsung jalan di kompie lain
gmana ya?
sya pake delphi+dbexpress+mysql.. mohon bantuannya….
termaksih bnyak

Balas

o Tigor Manurung Juli 30, 2009 pukul 6:14 pm

apabila pke DBExpress sediakan terlebih dahulu DLL yang diperlukan and spertinya installer2 udah
menyediakan kq untuk settingan SQLnya, bahkan yang saya liat seperti InstallAware yang Enterprise bisa juga
mencantumkan Dumping SQL yang nantinya akan diproses oleh installaware tersebut.

Balas

16. dian mufti amin Juli 30, 2009 pukul 4:45 am

Bang minta tutorial cara meng edit, tambah , delete dan simpan pada delphi 7 koneksi zeos. trima kasih

Balas
o Tigor Manurung Juli 30, 2009 pukul 6:15 pm

Ok…ntar deh klo ada sedikit waktu luang tak buatin tutorialnya

Balas

17. sky Agustus 21, 2009 pukul 9:46 am

Mas, Bagaimana cara untuk import file db_vcd nya saya import kok selalu error??

Terima kasih

Balas

o Tigor Manurung Agustus 23, 2009 pukul 1:23 pm

coba aja di liat sourcenya, rancangan struktur databasenya seperti apa, saya menggunakan HeidiSQL untuk

dump SQLnya…coba deh pke HeidiSQL juga.semoga membantu…

Balas

18. sky Agustus 25, 2009 pukul 3:52 am

tetap mas saya sudah pakai HeidiSQL klo error selalu ada tulisan ini
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=’ANSI,NO_BACKSLASH_ESCAPES’ */ ;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */ ;
/* Input parameter count is less then expected */

Terima Kasih

Balas

o Tigor Manurung Agustus 25, 2009 pukul 9:59 pm

kesalahan di atas dapat diatasi dengan cara menghapus bagian2 yang salah, asalkan script yang dihapus bukan

script standard aja.

Balas
19. marla September 17, 2009 pukul 6:02 pm

mas, bisa bantu aku…


aku pake dbgrid untuk nampilin data, trus aku mau nyimpan, coding yang aku buat hanya bisa nyimpan 1-1
record, sedangkan aku mau 1X klik button save, semua data yang ada didbgrid tersimpan.
ini codingnya :
procedure TForm12.SaveClick(Sender: TObject);
var i: integer;
no_formulir,npm,syarat,nilai_syarat,nilai_alternatif,kode_kriteria,nilai_kriteria,kode_subkriteria,nilai_subkriteria,
hasil : string;

begin

ADOQ2.Connection.BeginTrans; //begintrans: mulai transaksi

for i:= 1 to DBGHasil1.DataSource.DataSet.RecordCount do


begin
no_formulir := DBGHasil1.fields[0].AsString;
syarat := DBGHasil1.fields[1].AsString;
nilai_syarat := DBGHasil1.fields[2].AsString;
nilai_alternatif := DBGHasil1.fields[3].AsString;
kode_kriteria := DBGHasil1.fields[4].AsString;
nilai_kriteria := DBGHasil1.fields[5].AsString;
kode_subkriteria := DBGHasil1.fields[6].AsString;
nilai_subkriteria := DBGHasil1.fields[7].AsString;
hasil := DBGHasil1.fields[8].AsString;
end;

ADOC1.CommandText:=’insert into hasil’+


‘(tas,no_formulir,syarat,nilai_syarat,tahun_ahp,
kode_beasiswa,nilai_alternatif,kode_kriteria,nilai_kriteria,kode_subkriteria,nilai_subkriteria,hasil)’+
‘values(‘+QuotedStr(cbtas.Text)+’,’+QuotedStr(no_formulir)+’,’+QuotedStr(syarat)+’,’+QuotedStr(nilai_syarat)
+’,’+CBahp.text+’,’+QuotedStr(CBbeasiswa.Text)+’,’+QuotedStr(nilai_alternatif)+’,’+QuotedStr(kode_kriteria)+
’,’+QuotedStr(nilai_kriteria)+’,’+QuotedStr(kode_subkriteria)+’,’+QuotedStr(nilai_subkriteria)+’,’+QuotedStr(ha
sil)+’)’;

ADOC1.Execute;

ADOQ2.Connection.CommitTrans;
ShowMessage(‘Data Telah Tersimpan.’);

end;

apa coding-ku ada yang kurang ?tolong ya mas…


trima kasih.

Balas

o Tigor Manurung September 19, 2009 pukul 3:10 pm


coba deh yang koding ini :
for i:=1 to DBGHasil1.DataSource.DataSet.RecordCount do

itu diganti dengan :


for i:=0 to DBGHasil1.DataSource.DataSet.RecordCount -1 do

coba spt itu dlu y…

Balas

 budi Juli 9, 2012 pukul 11:05 am

mas udah tak coba kog ga bisa ya kek script diatas,, udah tak ganti juga,, nyimpennya datanya sama semua,,

minta bantuannya ya mas,,

20. Pinokio September 25, 2009 pukul 3:53 am

ka’ izin minta petunjuknya…saya lagi ngerjain tugas delphi, tentang stok barang. nah kesulitan saya ketika
barang dari gudang di ambil/keluar 1 pcs, tp di databsenya ga berkurang..tolong pencerahanya..Tq

Balas

o Tigor Manurung September 25, 2009 pukul 6:52 pm

itu sepertinya diperlukan sebuah table stok,nah ntar keluar barang itu hanya dicatat pada table transaksi jadi

tidak mengurangi jumlah yang ada di table stok. klo mo lebih lanjut silahkan hubungi via ym aj y

Balas

o guh Maret 19, 2010 pukul 12:26 pm

//kalo udah bikin stok barangnya

tbbarang.fieldbyname(‘Stok’).value:=tbbarang.fieldbyname(‘stok’).asinteger – strtoint(Edit1.text);

stok barang bisa berkurang apabila ada transaksi

Balas
o guh Maret 19, 2010 pukul 12:31 pm

//kalo udah bikin stok barangnya

if tbbaranf.locate(‘Stok’,Editkodebrg.text,[]) then
begin

tbbarang.edit;
tbbarangStok.value:=tbbarangStok.asinteger – strtoint(EditBanyakStok.text);
tbbtarang.post;

stok barang bisa berkurang apabila ada transaksi

Balas

21. marla Oktober 1, 2009 pukul 3:46 pm

mas,tolong aku..aku mau nyimpan data password tapi ada waktu dan tanggal,bagaimana menyimpan data
berupa tanggal dan waktu ke database:
ini koding ku..

procedure TForm1.Timer1Timer(Sender: TObject);


begin
edit3.Text:=DateTostr(date);
edit4.Text:=Timetostr(time);
end;

procedure TForm1.isipass;
begin

ADOPass1.Append;
case rgstatus.ItemIndex of
0:ADOPass1[‘status’]:= ‘A’;
1: ADOPass1[‘status’]:= ‘T’;
end;
ADOPass1[‘user_nama’]:= edit1.Text;
ADOPass1[‘password’]:=edit2.Text;
ADOPass1[‘tanggal’]:=edit3.text;
ADOPass1[‘jam’]:=edit4.text;
ADOPass1.post;

tapi kok ga bisa ?


thanks ye…

Balas

o Tigor Manurung Oktober 2, 2009 pukul 1:24 am


biasakan untuk memakai sintak sql aja, apabila terdapat error mudah untuk tracenya.silahkan explore ssuai

dengan contoh .

Balas

22. iwan November 4, 2009 pukul 8:32 am

makasih mas tas artikelx tp saya blom ngerti soalx baru mau belajar delphi….

Balas

o manztiara Desember 10, 2009 pukul 3:06 am

Keep learning as you can … you will be one of professional persons …

Balas

23. manztiara Desember 10, 2009 pukul 3:05 am

good post,

gimana kalau pada saat running / open form :

1. create temporary table


2. assign ke grid

3. tambahin terus sampe pegel data


4. mau ngesave … pake zSQLProcessor yang bisa multi-statement …

insert into tabel_bener


select … from tabel_temporer;
delete from tabel_temporer;

SQLProc.Execute;

5. Refresh grid, kasih info ke user data dah ke simpen ..

gitu ajah ide nya … dikid

Balas
o Tigor Manurung Desember 10, 2009 pukul 3:24 am

Mantabz neh si om klo dah angkat bicara

Balas

o maskaes Februari 25, 2011 pukul 6:46 pm

kalo pake database access bisa gak dibuat table temporary?

Balas

24. mas_kofa Desember 28, 2009 pukul 9:23 am

aku dah coba kok error ya om….

Balas

o Tigor Manurung Desember 28, 2009 pukul 9:25 am

yang mana nih yang error

Balas

25. mas_kofa Desember 28, 2009 pukul 11:09 am

aku juga bingung..error nya dimana?

Balas

o Tigor Manurung Desember 28, 2009 pukul 11:11 am

wakakkakkakakkakk….ada2 aja neh… :))

Balas
26. maulana Januari 5, 2011 pukul 2:52 pm

mas sory klo nanya nya nyimpang..


gmna cara import data dari ms acces (atau sqlserver) ke interbase, saya ada tugas bikin aplikasi delphi-
interbase, tp studi kasusnya perlu data yg bnyk n dari format yg berbeda..
mohon bantuannya..

Balas

27. Ridwan Sapoetra Juli 24, 2011 pukul 8:19 am

Maaf Mas,,
Saya mau tanya!!
Kalau cara memasukkan data yang terselect di dalam string grid ke dalam Edit Box Gimana ya!!
Event’a tapi Pas lagi DblClick baris yang terselect
Terima Kasih

Balas

28. Nana Maryana Maret 23, 2012 pukul 4:42 am

ma’f mas aq mau d’ajarin bikin aplikasi untuk pengdaan barang…

Balas

o Tigor Manurung Maret 26, 2012 pukul 1:37 am

silahkan hubungi saya via ym

Balas

29. Nana Maryana Maret 23, 2012 pukul 4:43 am

mohon bantuannya…

Balas

30. ilham April 21, 2012 pukul 5:05 pm


mas tigor mau manya nech…

gimana caranya nyimpan data gambar trus munculin lagi.


data gambar di save di dbgrid from2 dan image ada di form1.
nah saat mau edit data
muncul dah gambar tuch di image form1
oya data dari access mas tigor

Balas

31. faham Juni 14, 2012 pukul 6:12 am

klo mo simpan secara masal kan sintak-sqlnya tinggal begini “INSERT INTO tabel_master (select * from
tabel_temporary WHERE kondisinya_apa)”, syarat fields2nya sama, kl ga sama disamain dulu dg as

Balas

o Tigor Manurung Juni 16, 2012 pukul 5:18 am

betul sekali mas

Balas

32. rian Juni 15, 2012 pukul 3:06 pm

pengen osourcing pembuatan struk penjualan di qrepoot

Balas

o Tigor Manurung Juni 16, 2012 pukul 5:17 am

mksdnya osourcing mas?

Balas

33. ghopal Juli 5, 2012 pukul 7:46 am

sy pake database m.access, ada table ‘tbharga’, field2x-nya status,harga,hari,jam. memakai ADOQueryHarga.
ada 3 combobox (status,hari,jam), edit(harga).
yg mo sy tanya, jika saya pilih:
status = pelajar
hari = senen
jam = 6

maka yang dia bayar adalah 120.000

bentuk kodingnya gimana ya mas ???

thx banget atas bantuannya

Balas

34. Jin Kojecks Juli 8, 2012 pukul 10:57 am

Bagus banget bahasan-bahansanya…. thanks jadi menambah inspirasi…. terutama bwt Tigor

Balas

35. Meylinda Widy Ananta Juli 23, 2012 pukul 2:36 am

Mas,mau tanya soal penyimpanan data gambar di database,coding simpannya gimana ya?(databasenya pakai
paradox).
Tlg jawabannya kirim ke email ini aja anitameylinda@ymail.com
Trima kasih sebelumnya.

Balas

o @kangkresna April 22, 2013 pukul 8:38 am

gambarnya jgn disimpan,direktory tempat datanya aja yg disimpan sebagai char,lalu jika data gambar di klik
kasih printah load

Balas

36. yuni Oktober 2, 2013 pukul 4:28 am

mas mau nanya, kalau databasenya menggunakan ms.access bisa g dilakukan penyimpanan massal?

Balas

o Tigor Manurung Oktober 8, 2013 pukul 9:09 am

bisa
Balas

 Rusdian Adit Mei 26, 2014 pukul 4:49 am

kao pakek access , script diatas yg dirubah yg mana nya mas ?

37. huda Desember 17, 2013 pukul 2:30 am

nice post gan…


udah nyari browse kemana2, ktemu juga…
thank’s gan…gw coba dulu….

Balas

38. sriyanti April 17, 2014 pukul 10:44 am

mas minta tolong ,gimana cara bikin satu nota untuk banyak barang ? aku bikin project tentang penyewaan
karaoke.makaaih mas

Balas

39. Davin April 25, 2014 pukul 2:13 am

mas, untuk 1 table gimana mas? tolong kasih petunjuk

Balas

40. chaerul Agustus 8, 2014 pukul 5:22 am

Bro mo tanya..
kalo buat aplikasi penyimpan waktu pake delphi gimana yach ??

Balas

41. chaerul Agustus 8, 2014 pukul 5:23 am

maksudnya buat hitung selisih waktunya..


Balas

42. berto September 7, 2016 pukul 4:24 am

bang,kalau menyimpan pdf ke delphi sama codingnya seperti itu?hanya mengganti ekstensi jpg ke pdf?

Balas

43. Irwan Setiawan Desember 10, 2016 pukul 1:59 am

maaf mas, mau tanya


misalkan kita bikin sebuah program perpustakaan dengan dua form yaitu form pengembalian dan form
peminjaman, nah pada saat saya input data nya itu masuk dalam database yang berbeda antara peminjaman
dan pengembalian, nah gimana ya solusi paling mudah supaya kedua form tersebut masuk dalam satu
database yang sama, apakah harus membuat database dengan mysql atau bagaimana? terimakasih

Balas

Tinggalkan Balasan

SS feed

Contact Me Online

Donasi ya…
Apabila blog ini dirasa bermanfaat bagi Anda, apabila berkenan silahkan donasi di :

BCA : 70-9017-3558 a/n Tigor Mangatur Manurung

atau transfer / Mengisi pulsa di hp saya (nomor terdapat di menu Kontak)

Berapapun donasi Anda, Saya sangat berterima kasih.

Tutorial Terbaru
 [Delphi / Lazarus] Membuat Aplikasi Realcount Pilpres 2014 “Sedot KPU”
 [Delphi] Mendebug Project Aplikasi
 [Lomba] Membuat Game Sederhana (Sesuai Contoh) – Level Pemula
 [Delphi] Membuat Aplikasi berbasis IOS Dengan Delphi XE4
 [Delphi] KlikBCA Mutasi Downloader (TKlikBCA)

Arsip
Arsip

Kategori

Android DelphiHosting IT-Umum lazarusOOT PHP Tips dan Trik Tulisan

Admin

Kalender
Mei 2009

S S R K J S M
Jul »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Blogroll
 Mas Fajar
 My Master
 Wahyu El-Rahma

Programming Reference
 Delphi Mania Indonesia
 Diskusi Web
 Komunitas PHP Indonesia
 Kontes Koding
 Kumpulan Software

Stats Blog
 126,371 hits

Online Stat
↑ Top
 Ikuti

Anda mungkin juga menyukai