Bab7 pangkalan data
-
Upload
anas-assayuti -
Category
Technology
-
view
1.400 -
download
2
Transcript of Bab7 pangkalan data
BAB TUJUH: PANGKALAN DATA
VISUAL BASIC DAN FAIL PANGKALAN DATA
Dengan menggunakan Visual Basic, kita juga boleh menggunakan aplikasi pangkalan data
(database application) tanpa menggunakan kod arahan yang panjang untuk mencapai data
dan mengubah data di dalam pangkalan data. Kita juga boleh membina aplikasi yang boleh
memaparkan/mengubah maklumat pangkalan data sama ada pada komputer peribadi (PC)
atau bagi rangkaian multi-pengguna.
Terminologi bagi Pangkalan Data
Sebelum menggunakan pangkalan data, terdapat beberapa terminologi dan konsep yang
perlu diketahui oleh pengaturcara. Bagi kursus ini, pangkalan data yang akan digunakan
ialah Microsoft Access. Fail Access (dengan sambungan .mdb) boleh mempunyai beberapa
jadual (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).
Pangkalan Data
Mohd Farid JaafarJSM, FSKTM, UPM
91
Berikut merupakan contoh Jadual Maklumat Pelajar:
Medan/Lajur
Matrik Nama Alamat Tetap Kolej Program
11213 Ali bin Abu No 13 Jalan
Kuching, KL
Kolej 11 Diploma Sains
Komputer
22343 Ahmad bin
Hasan
56 Lot 32, Jalan
Melewar, Pahang
Kolej 10 Bacelor Sains
Komputer
23333 Mohamad
Hanif
33 Blok Meranti
Taman Sri Jaya
Kolej 6 Diploma Sains
Komputer
24645 Adriana
Ahmad
4 Jalan Kembara 1,
KL
Kolej 8 Bacelor Sains
Komputer
Kebanyakan jadual menggunakan kunci medan (key field) atau kombinasi medan yang unik
bagi mewakilkan rekod. Contoh: no. matrik, no. akuan, no. kakitangan.
Membina Fail Pangkalan Data bagi Projek Visual Basic
Terdapat 2 cara bagi membina pangkalan data iaitu membina pangkalan menggunakan Access
atau 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.
Rekod/Baris
Pangkalan Data
Mohd Farid JaafarJSM, FSKTM, UPM
92
Menggunakan Kawalan Data (Data Control) dan Data-Bound-Control
Terdapat 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, combo
box, check box, images data bound list box, data bound combo box dan data bound grid. Secara
amnya, data control menghubungkan satu form kepada 1 jadual. Sekiranya hendak meletakkan
data-bound control pada form yang kedua, kita mesti meletakkan data control pada form
tersebut. Kita boleh meletakkan lebih dari satu data control di dalam satu form.
Menentukan properti bagi Data Control
Langkah permulaan ialah meletakkan data control ke dalam form dan berikan nama data control
tersebut 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:\VisualBasic\Projek\Pelajar.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.
Pangkalan Data
Mohd Farid JaafarJSM, FSKTM, UPM
93
Menentukan properti bagi Data-bound Control
Selepas memberikan nama, setkan 2 properti yang akan menghubungkan control kepada data di
dalam 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: Matrik
Memapar dan Melayari Pangkatan Data
Terdapat 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 OBIECT
Apabila kita menentukan properti RecordSource pada data control, bermaksud kita telah
membina objek baru yang dipanggil sebagai Recordset. Recordset mempunyai property dan
kaedah yang tersendiri seperti bergerak dari satu rekod ke rekod lain, mengubah rekod,
menambah rekod, menghapus rekod atau mencari rekod. Apabila ingin merujuk kepada
Recordset, kita mesti tentukan nama data control:
NamaDataControl.Recordset.Property
NamaDataControl. Recordset.Method
Pangkalan Data
Mohd Farid JaafarJSM, FSKTM, UPM
94
Menggunakan Method MoveFirst, MoveNext, MovePrevious dan MoveLast
Kesemua method tersebut mempunyai fungsi yang sama seperti navigation button. Setiap
method tersebut diberikan kepada Recordset yang telah dibina oleh data control.
datPelajar.Recordset.MoveNext ’Pergi kepada rekod berikutnya
datPelajar.Recordset.MoveLast ’Pergi kepada rekod terakhir
datPelajar.Recordset.MovePrevious ’Pergi kepada rekod sebelumnya
datPelajar.Recordset.MoveFirst ’Pergi kepada rekod pertama
Menyemak BOF dan EOF
2 contoh property bagi objek Recordset ialah BOF (Beginning Of File) dan EOF (End Of
File). BOF digunakan untuk memastikan bahawa penunjuk (pointer) berada sebelum rekod
yang pertama. BOF bernilai ’true' sekiranya berada di awal rekod atau tiada rekod di dalam
Recordset. Manakala EOF memastikan penunjuk berada selepas rekod terakhir di dalam
Recordset, bernilai ’true' sekiranya selepas akhir rekod atau rekod adalah kosong.
Apabila melayari pangkalan data menggunakan kod arahan, kita perlu menyemak BOF dan
EOF untuk mengelakkan run-time errors timbul. Contohnya: Jika penggguna klik pada
MoveNext sedangkan penunjuk berada di rekod yang terakhir maka mesej ralat (error) akan
dipamirkan. Ini akan menyebabkan perjalanan sistem terpaksa dihentikan. Bagi mengatasi
masalah tersebut, kita gunakan method yang bersesuaian seperti MoveFirst, di mana aturcara
akan 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 Sub
Pangkalan Data
Mohd Farid JaafarJSM, FSKTM, UPM
95
Arahan 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 Sub
MENGEMASKINI PANGKALAN DATA
Objek Recordset mempunyai method Update. Tujuannya ialah untuk menyimpan perubahan
data. Biasanya data secara automatik dikemaskini apabila kita klik pada salah satu butang
navigasi atau apabila sebarang method Move dilaksanakan.
Menambah Rekod
Terdapat beberapa pilihan untuk menambah rekod baru ke dalam pangkalan data. Sekiranya
menggunakan butang navigasi pada data control, VB membenarkan penambahan data secara
automatik dengan cara setkan pada properti EOFAction kepada 2-AddNew. Apabila berada di
rekod terakhir dan butang navigasi MoveNext diklik, secara automatik segala data bound
control 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 nama
recordset seperti berikut:
datPelajar.Recordset.AddNew
Pangkalan Data
Mohd Farid JaafarJSM, FSKTM, UPM
96
Apabila arahan tersebut dilaksanakan, secara automatik semua data bound control akan
dikosongkan bagi mengisi data baru. Selepas data dimasukkan laksanakan Update untuk
memasukkan data ke dalam pangkalan data. Bina command button yang baru, contohnya button
Save untuk melaksanakan arahan Update.
datPelajar.Recordset.Update
Menghapuskan Rekod
Untuk menghapuskan rekod, gunakan method Delete. Pamirkan rekod yang dihapuskan dan
laksanakan arahan Delete yang telah diletakkan di dalam button atau pilihan menu. Apabila rekod
semasa telah dihapuskan, pastikan MoveNext dilaksanakan.
With datPelajar.Recordset
.Delete
.MoveNext
End With
Sekiranya rekod yang dihapuskan merupakan rekod yang terakhir, pastikan penunjuk dibawa kepada
rekod 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 Sub
Pangkalan Data
Mohd Farid JaafarJSM, FSKTM, UPM
97
Sekiranya 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 Sub