Rabu, 06 Mei 2015

Membuat Tombol navigasi Input data ke database

Pada tutorial kali ini akan dibahas cara untuk menambahkan dan menghapus record yang terdapat dalam file database eksternal.

Berikut langkah-langkahnya:



1. Buat form yang terkoneksi dengan database dan memiliki tampilan sebagai berikut:

  • Pada gambar diatas dapat dilihat telah dibuat koneksi dengan database melalui adoconnection dan adotable, hasilnya dapat langsung dilihat pada dbgrid. 
  • Dibuat juga 6 buah kotak edit untuk melakukan input data. 
  • Selanjutnya dibuat 3 buah tombol untuk melakukan memasukkan data, menghapus data pada table, dan keluar dari database dan hasilnya dapat langsung dilihat pada dbgrid.
2. Memasukkan Sourcecode pada tombol navigasi masukkan
    Double click pada tombol masukan dan masukkan kode program berikut pada prosedurnya


 begin
    if edit1.GetTextLen = 0 then
       showmessage('isi Username dahulu');
    if edit2.GetTextLen = 0 then
       showmessage('isi Nickname dahulu');
    if edit3.GetTextLen = 0 then
       showmessage('isi Country dahulu');
    if edit4.GetTextLen = 0 then
       showmessage('isi City dahulu');
    if edit5.GetTextLen = 0 then
       showmessage('isi Age dahulu');
    if edit6.GetTextLen = 0 then
       showmessage('isi Hero dahulu');
    if (edit1.GetTextLen >0) and (edit2.GetTextLen>0) and (edit3.GetTextLen>0) and (edit4.GetTextLen>0) and (edit5.GetTextLen>0) and (edit6.GetTextLen>0) then
    begin
      with TableWarcraftIII do
      TableWarcraftIII.Append;
      TableWarcraftIIIUsername.Value:=edit1.text;
      TableWarcraftIIINickname.Value:=edit2.Text;
      TableWarcraftIIICountry.Value:=edit3.text;
      TableWarcraftIIICity.Value:=edit4.Text;
      TableWarcraftIIIAge.Value:=strtoint(edit5.text);
      TableWarcraftIIIHero.Value:=edit6.Text;
      TableWarcraftIII.Insert;
      TableWarcraftIII.Next;
      edit1.text:='';
      edit2.Text:='';
      edit3.text:='';
      edit4.Text:='';
      edit5.text:='';
      edit6.Text:='';
    end;
end;

* Penjelasan 
Tombol ini digunakan untuk melakukan insert data ke dalam database. listing program pada tombol ini akan dibahas perbagian.

untuk melakukan pengisian data diperlukan 6 buah data yang diinputkan, karena itu untuk menghindari terjadinya error maka pada awal dituliskan listing: 


    if edit1.GetTextLen = 0 then
       showmessage('isi Username dahulu');

dengan listing diatas maka akan dicek apabila kotak edit1 masih kosong maka akan menampilkan pesan. perintah GetTextLen adalah perintah untuk mengambil panjang nilai karakter pada edit1. jadi jika edit1 belum diisi maka nilai GetTextLen akan sama dengan 0. begitupula dengan listing:
    if edit2.GetTextLen = 0 then
           showmessage('isi Nickname dahulu');
 

Dan begitu seterusnya...

Untuk mengecek isi semua kolom edit. lalu listing:

    if (edit1.GetTextLen >0) and (edit2.GetTextLen>0) and (edit3.GetTextLen>0) and (edit4.GetTextLen>0) and (edit5.GetTextLen>0) and (edit6.GetTextLen>0) then
 

Adalah untuk melakukan pengecekan apabila Semua kolom edit telah terisi maka program utama akan dijalankan. bila salah satu belum terisi maka proses insert data akan errorlisting program utama: 
  
      with TableWarcraftIII do

 akan melakukan proses dengan melibatkan TableWarcraftIII do(adotable)

      TableWarcraftIII.Append;

perintah untuk mengaktifkan proses pengisian table sehingga table database dalam kondisi siap untuk diisi

    TableWarcraftIIIUsername.Value:=edit1.text;
    TableWarcraftIIINickname.Value:=edit2.Text;
    TableWarcraftIIICountry.Value:=edit3.text;
    TableWarcraftIIICity.Value:=edit4.Text;
    TableWarcraftIIIAge.Value:=strtoint(edit5.text);
    TableWarcraftIIIHero.Value:=edit6.Text;
field pada TableWarcraftIII memiliki nama variabel tersendiri yang dapat diakses isinya, pada listing diatas adalah cara untuk melakukan pengisian field dari table tersebut. untuk username dapat langsung diisikan karena tipe datanya sama yaitu string, sedangkan untuk age perlu melakukan konversi dari string ke integer karena age memiliki tipe data integer.
    TableWarcraftIII.Insert;
    TableWarcraftIII.Next;
data yang telah diisikan pada field sebelumnya belum sepenuhnya tersimpan pada database karena itu digunakan listing diatas. instruksi insert digunakan untuk melakukan insert data ke dalam table. dan instruksi next digunkan untuk mengganti posisi pointer sehingga dapat melakukan pengisian data selanjutnya. 
          edit1.text:='';
          edit2.Text:='';
          edit3.text:='';
          edit4.Text:='';
          edit5.text:='';
          edit6.Text:='';
listing diatas adalah untuk mengosongkan isi dari semua kolom edit dari edit1 sampai edit6 setelah melakukan pengisian data sehingga siap untuk diisi data selanjutnya.

3.  Memasukkan Sourcecode pada tombol navigasi bersihkan
     Double click pada tombol bersihkan dan para prosedurnya isikan listing berikut:

    begin
        if TableWarcraftIII.IsEmpty then
         showmessage('tabel kosong')
        else
        TableWarcraftIII.Delete  ;
    end;
Tombol ini digunakan untuk melakukan penghapusan record pada table database. record yang dihapus adalah record yang ditunjuk oleh pointer(tanda segitiga hitam pada sebelah kiri dbgrid).
- pembahasan listing adalah sebagai berikut

    if TableWarcraftIII.IsEmpty then
     showmessage('tabel kosong')


Listing ini digunakan untuk melakukan pengecekan kondisi TableWarcraftIIIapakah kosong atau masih ada data di dalamnya, hal ini dilakukan untuk mencegah terjadinya error saat melakukan penghapusan tecord namun tidak ditemukan data. karena itu dengan listing ini maka saat tidak ada data di dalam table akan muncul pesan peringatan.


    else
    TableWarcraftIII.Delete  ;


Listing selanjutnya digunakan untuk melakukan penghapusan record sesuai dengan posisi pointernya. cukup dengan menggunakan instruksi delete.

dengan demikian telah dapat dibuat apliaksi yang digunakan untuk mekaukan pengisian dan penghapusan data ke dalam table database.


4Memasukkan Sourcecode pada tombol navigasi keluar
    Double click pada tombol keluar dan para prosedurnya isikan listing berikut:

begin
if Application.MessageBox('Apakah Anda Yakin Ingin Keluar?','Konfirmasi',MB_YESNO or MB_ICONQUESTION)=mryes then
Application.Terminate;
end;
 

Tombol ini digunakan untuk mengakhiri atau menutup aplikasi database ini. berikut penjelasannya :

 if Application.MessageBox('Apakah Anda Yakin Ingin Keluar?','Konfirmasi',MB_YESNO or MB_ICONQUESTION)=mryes then


Ketika tombol keluar diklik, maka akan muncul tulisan atau dialog yang menunjukkan kepada user apakah benar yakin ingin keluuar dari aplikasi ini. dan di dalam dialog itu akan menampilkan dua opsi pilihan jawaban yaitu "yes" dan "no" serta ikon tanda tanya yang menunjukkan sedang bertanya.



Application.Terminate;

jika user memilih "yes", maka aplikasi akan menutup.

Tidak ada komentar: