Bab7 pangkalan data
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Bab7 pangkalan data

on

  • 1,541 views

 

Statistics

Views

Total Views
1,541
Views on SlideShare
1,541
Embed Views
0

Actions

Likes
0
Downloads
32
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Bab7 pangkalan data Document Transcript

  • 1. BAB TUJUH: PANGKALAN DATAVISUAL BASIC DAN FAIL PANGKALAN DATADengan menggunakan Visual Basic, kita juga boleh menggunakan aplikasi pangkalan data(database application) tanpa menggunakan kod arahan yang panjang untuk mencapai datadan mengubah data di dalam pangkalan data. Kita juga boleh membina aplikasi yang bolehmemaparkan/mengubah maklumat pangkalan data sama ada pada komputer peribadi (PC)atau bagi rangkaian multi-pengguna.Terminologi bagi Pangkalan DataSebelum menggunakan pangkalan data, terdapat beberapa terminologi dan konsep yangperlu diketahui oleh pengaturcara. Bagi kursus ini, pangkalan data yang akan digunakanialah Microsoft Access. Fail Access (dengan sambungan .mdb) boleh mempunyai beberapajadual (table). Setiap jadual mengandungi baris (row) dan lajur (column): • Baris merupakan perwakilan data keseluruhan bagi satu item, manusia atau transaksi. Juga dikenali sebagai rekod (record). • Lajur digunakan untuk menyimpan elemen data seperti no. matrik, no. akaun, nama, alamat. Juga dikenali sebagai medan (field).
  • 2. Pangkalan DataBerikut merupakan contoh Jadual Maklumat Pelajar: Medan/Lajur Matrik Nama Alamat Tetap Kolej Program 11213 Ali bin Abu No 13 Jalan Kolej 11 Diploma Sains Kuching, KL KomputerRekod/Baris 22343 Ahmad bin 56 Lot 32, Jalan Kolej 10 Bacelor Sains Hasan Melewar, Pahang Komputer 23333 Mohamad 33 Blok Meranti Kolej 6 Diploma Sains Hanif Taman Sri Jaya Komputer 24645 Adriana 4 Jalan Kembara 1, Kolej 8 Bacelor Sains Ahmad KL KomputerKebanyakan jadual menggunakan kunci medan (key field) atau kombinasi medan yang unikbagi mewakilkan rekod. Contoh: no. matrik, no. akuan, no. kakitangan.Membina Fail Pangkalan Data bagi Projek Visual BasicTerdapat 2 cara bagi membina pangkalan data iaitu membina pangkalan menggunakan Accessatau menggunakan aplikasi Visual Data Manager Add-In disediakan oleh Visual Basic.Cara untuk menggunakan VB Visual Data Manager Add-In ialah:- Pada menu Add-In, pilih Visual Data Manager. Tetingkap aplikasi VisData akan dikeluarkan; kemudian bina fail baru atau buka fail pangkalan data yang telah dibina untuk mencapai/masukkan data.Mohd Farid Jaafar 91JSM, FSKTM, UPM
  • 3. Pangkalan DataMenggunakan Kawalan Data (Data Control) dan Data-Bound-ControlTerdapat 2 langkah bagi menggunakan kawalan data: 1. Letakkan kawalan data ke dalam form dan setkan pada properties kepada fail pangkalan data dan jadual. 2. Bina kawalan lain seperti label untuk memaparkan data yang berada di PD. Setiap kawalan diikatkan kepada medan (field) bagi jadual. Kawalan tersebut dipanggil data- bound control. Rajah di bawah menunjukkan label yang telah diikatkan yang memapar kandungan `bound field apabila projek dilarikan. Kawalan lain yang boleh dijadikan data-bound control ialah text box, label, list box, combobox, check box, images data bound list box, data bound combo box dan data bound grid. Secaraamnya, data control menghubungkan satu form kepada 1 jadual. Sekiranya hendak meletakkandata-bound control pada form yang kedua, kita mesti meletakkan data control pada formtersebut. Kita boleh meletakkan lebih dari satu data control di dalam satu form.Menentukan properti bagi Data ControlLangkah permulaan ialah meletakkan data control ke dalam form dan berikan nama data controltersebut dengan prefix dat, contoh: datPelajar, kemudian setkan pada properti berikut: 1. Connect - Berikan jenis pangkalan data. - Contoh: Access, dbaseIII, FoxPro 2. DatabaseName - Tentukan laluan kedudukan pangkalan data dalam komputer. - Contoh: C:VisualBasicProjekPelajar.mdb 3. RecordSource - Pilih nama Jadual (table) atau query yang berada dalam pangkalan data. - Contoh: Pelajar 4. ReadOnly - Setkan TRUE sekiranya tidak melakukan perubahan kepada pangkalan data dan FALSE sekiranya ingin membuat perubahan data.Mohd Farid Jaafar 92JSM, FSKTM, UPM
  • 4. Pangkalan DataMenentukan properti bagi Data-bound ControlSelepas memberikan nama, setkan 2 properti yang akan menghubungkan control kepada data didalam pangkalan data: 1. DataSource - Pilih nama bagi data control yang telah dihubungkan kepada table yang sesuai. - Contoh: datPelajar 2. DataField - Pilih medan/lajur yang bersesuaian bagi control. - Contoh: MatrikMemapar dan Melayari Pangkatan DataTerdapat 2 cara untuk melayari maklumat/rekod di dalam pangkalan data: l. Dengan menekan butang pelayaran (navigation button) seperti move move first, move next, move previous dan move last button atau 2. Melalui butang seperti command button bagi menggantikan navigation button yang diberi kod arahan untuk memanipulasi PD. Di sini data control disetkan Visible = False.Bagi memanipulasikan pangkalan data melalui kod arahan, kita menggunakan Recordset Object.RECORDSET OBIECTApabila kita menentukan properti RecordSource pada data control, bermaksud kita telahmembina objek baru yang dipanggil sebagai Recordset. Recordset mempunyai property dankaedah yang tersendiri seperti bergerak dari satu rekod ke rekod lain, mengubah rekod,menambah rekod, menghapus rekod atau mencari rekod. Apabila ingin merujuk kepadaRecordset, kita mesti tentukan nama data control: NamaDataControl.Recordset.Property NamaDataControl. Recordset.MethodMohd Farid Jaafar 93JSM, FSKTM, UPM
  • 5. Pangkalan DataMenggunakan Method MoveFirst, MoveNext, MovePrevious dan MoveLastKesemua method tersebut mempunyai fungsi yang sama seperti navigation button. Setiapmethod tersebut diberikan kepada Recordset yang telah dibina oleh data control.datPelajar.Recordset.MoveNext ’Pergi kepada rekod berikutnyadatPelajar.Recordset.MoveLast ’Pergi kepada rekod terakhirdatPelajar.Recordset.MovePrevious ’Pergi kepada rekod sebelumnyadatPelajar.Recordset.MoveFirst ’Pergi kepada rekod pertamaMenyemak BOF dan EOF2 contoh property bagi objek Recordset ialah BOF (Beginning Of File) dan EOF (End OfFile). BOF digunakan untuk memastikan bahawa penunjuk (pointer) berada sebelum rekodyang pertama. BOF bernilai ’true sekiranya berada di awal rekod atau tiada rekod di dalamRecordset. Manakala EOF memastikan penunjuk berada selepas rekod terakhir di dalamRecordset, bernilai ’true sekiranya selepas akhir rekod atau rekod adalah kosong. Apabila melayari pangkalan data menggunakan kod arahan, kita perlu menyemak BOF danEOF untuk mengelakkan run-time errors timbul. Contohnya: Jika penggguna klik padaMoveNext sedangkan penunjuk berada di rekod yang terakhir maka mesej ralat (error) akandipamirkan. Ini akan menyebabkan perjalanan sistem terpaksa dihentikan. Bagi mengatasimasalah tersebut, kita gunakan method yang bersesuaian seperti MoveFirst, di mana aturcaraakan kembali merujuk kepada rekod yang pertama. Private Sub cmdNext_Click() datPelajar.Recordset.MoveNext Pergi kepada rekod berikutnya If datPelajar.Recordset.EOF Then datPelajar.Recordset.MoveFirst End If End SubMohd Farid Jaafar 94JSM, FSKTM, UPM
  • 6. Pangkalan DataArahan tersebut juga boleh diringkaskan menggunakan pernyataan With/End seperti berikut: Private Sub cmdNext_Click() With datPelajar.Recordset Pergi kepada rekod berikutnya .MoveNext If .EOF Then .MoveFirst End If End With End SubMENGEMASKINI PANGKALAN DATAObjek Recordset mempunyai method Update. Tujuannya ialah untuk menyimpan perubahandata. Biasanya data secara automatik dikemaskini apabila kita klik pada salah satu butangnavigasi atau apabila sebarang method Move dilaksanakan.Menambah RekodTerdapat beberapa pilihan untuk menambah rekod baru ke dalam pangkalan data. Sekiranyamenggunakan butang navigasi pada data control, VB membenarkan penambahan data secaraautomatik dengan cara setkan pada properti EOFAction kepada 2-AddNew. Apabila berada direkod terakhir dan butang navigasi MoveNext diklik, secara automatik segala data boundcontrol akan dikosongkan bagi memasukkan rekod. Apabila mana-mana butang navigasi diklik,secara automatik data akan disimpan dalam PD. Berbeza dengan cara penulisan kod. Wujudkan satu control (contoh: command button)untuk menambahkan rekod ke dalam pangkalan data. Gunakan kaedah AddNew pada namarecordset seperti berikut: datPelajar.Recordset.AddNewMohd Farid Jaafar 95JSM, FSKTM, UPM
  • 7. Pangkalan DataApabila arahan tersebut dilaksanakan, secara automatik semua data bound control akandikosongkan bagi mengisi data baru. Selepas data dimasukkan laksanakan Update untukmemasukkan data ke dalam pangkalan data. Bina command button yang baru, contohnya buttonSave untuk melaksanakan arahan Update. datPelajar.Recordset.UpdateMenghapuskan RekodUntuk menghapuskan rekod, gunakan method Delete. Pamirkan rekod yang dihapuskan danlaksanakan arahan Delete yang telah diletakkan di dalam button atau pilihan menu. Apabila rekodsemasa telah dihapuskan, pastikan MoveNext dilaksanakan. With datPelajar.Recordset .Delete .MoveNext End WithSekiranya rekod yang dihapuskan merupakan rekod yang terakhir, pastikan penunjuk dibawa kepadarekod sebelumnya bagi mengelakkan mesej ralat dikeluarkan. Private Sub cmdDeiete_Click() Hapuskan rekod semasa With datPelajar.Recordset .Delete .MoveNext Hapuskan rekod semasa If .EOF Then Pergi kepada rekod seterusnya .MovePrevious Jika rekod terakhir dihapuskan End If ‘Pergi kepada rekod sebelumnya End With End SubMohd Farid Jaafar 96JSM, FSKTM, UPM
  • 8. Pangkalan DataSekiranya hanya satu rekod sahaja yang berada di dalam recordset dan rekod tersebut ingin dihapuskan,semak BOF dan EOF bagi mengelakkan mesej ralat dikeluarkan. Private Sub cmdDelete_Click() Hapuskan rekod semasa With datPelajar.Recordset .Delete ‘Hapuskan rekod semasa .MoveNext ‘Pergi kepada rekod seterusnya If .EOF Then ’Jika rekod terakhir dihapuskan .MovePrevious ‘Pergi kepada rekod sebelumnya If BOF Then Jika BOF dan EOF True, tiada rekod yang tinggal MsgBox "Recordset kosong.”, vbInformation, "Tiada rekod" End If End If End With End SubMohd Farid Jaafar 97JSM, FSKTM, UPM