bab7 pangkalan data

8
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).

Upload: anas-assayuti

Post on 19-May-2015

1.828 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 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).

Page 2: Bab7 pangkalan data

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

Page 3: Bab7 pangkalan data

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.

Page 4: Bab7 pangkalan 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

Page 5: Bab7 pangkalan data

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

Page 6: Bab7 pangkalan data

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

Page 7: Bab7 pangkalan data

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

Page 8: Bab7 pangkalan data

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