Download presentation
Presentation is loading. Please wait.
1
BAB 9 VB6 DAN PANGKALAN DATA
2
komputer dan akan diuruskan oleh satu aplikasi yang khusus
PENGENALAN Pangkalan data merupakan satu set data yang tersusun dalam komputer dan akan diuruskan oleh satu aplikasi yang khusus yang dipanggil sebagai Sistem Pengurusan Pangkalan Data. Sistem Pengurusan Pangkalan Data yang boleh di lakukan dengan VB adalah menggunakan beberapa elemen yang sangat penting iaitu: 1. Bahasa pangkalan data. Bahasa pangkalan data yang sangat popular untuk VB adalah dipanggil SQL (Structured Query Language) Bahasa ini yang akan sentiasa digunakan kerana agak fleksible dan agak mudah berbanding bahasa-bahasa pangkalan data yang lain seperti Data Definition Language dan Data Manipulation Language.
3
Microsoft DataGrid Control 6.0
2. Microsoft ADO (ActiveX Data Object) data control 6.0 dan Microsoft DataGrid Control 6.0 ADO data control adalah satu cara terbaik untuk mengurus capaian ke pangkalan data dengan VB. Kebiasaannya ADO data control akan mengurus connection antara aplikasi dan pangkalan data yang membenarkan beberapa kawalan lain melihat dan memanipulasi data yang wujud dalam pangkalan data. DataGrid pula bertujuan untuk kawalan display dalam bentuk jadual. DataGrid pula membenarkan capaian yang mudah menggunakan RecordSet untuk kedua-dua tugas melihat dan mengedit data dalam pangkalan data
4
3. ODBC data sources (32 bit)
Perkara ini juga penting kerana connection antara aplikasi dan pangkalan data perlu sentiasa di adakan. Jika terdapat masalah connection antara aplikasi dan pangkalan data yang ODBC data sources(32 bit) akan sentiasa dirujuk dan sentiasa dikemaskini jika connection tersebut ada masalah. Jika aplikasi yang melibatkan Active Server Page (ASP), Visual Basic Script (VBScript) dan Jscript (Java Script) atau aplikasi yang melibatkan penggunaan HTML, setting ODBC ini sangat penting.
5
4. SQL Server dan Microsoft Access.
Dalam pembinaan satu aplikasi pangkalan data yang mudah anda memerlukan sekurang-kurangnya Microsoft Access untuk membina pangkalan data tersebut. SQL Server pula digunakan untuk satu aplikasi yang lebih besar, sudah tentu SQL Server mempunyai kredibiliti yang lebih baik dari Microsoft Access. Satu aplikasi SQL Server yang popular adalah MS SQL Server. Dalam perbincangan ini, lebih tumpuan diberikan kepada Microsoft Access kerana aplikasi ini boleh didapati di mana-mana komputer yang mempunyai Microsoft Office 98/2000.
6
A. SQL Beberapa asas yang penting dalam SQL seperti menambah, mengedit dan juga memadamkan rekod yang selalunya akan digunakan dalam aturcara VB. 1. mencapai semua rekod dari satu table. Jika anda ingin mencapai rekod dari jadual, anda boleh menggunakan command SELECT. Anda perlu tahu nama table yang anda bina. Sebagai contoh : SELECT * from Pembekal
7
2. mencapai beberapa medan dari satu table
anda juga boleh memilih hanya beberapa medan untuk dicapai dari pangkalan data. Contoh : SELECT PembekalID, PembekalNama from Pembekal 3. capaian ke medan berdasarkan conditions. Pernyataan Where Ia sangat penting untuk menentukan lokasi rekod dalam pangkalan data yang sesuai dengan kriteria pilihan. Dengan itu SQL menyediakan arahan optional WHERE untuk menentukan pilihan yang ingin di pilih oleh pengaturcara.
8
Formatnya SELECT * from Pembekal WHERE [TahunLahir] >= 1950 Bermaksud : Semua rekod yang ada dalam pangkalan data yang memenuhi criteria tahunlahir melebihi 1950 sahaja yang boleh dimanipulasi oleh pengaturcara. Atau SELECT * from Pembekal WHERE NamaPembekal = ‘Ahmad’ Bermaksud Hanya rekod yang mempunyai nama pembekal Ahmad yang akan dicapai. Atau penggunaan operator Like juga boleh digunakan. Select * from Pembekal Where NamaPembekal = ‘A*’
9
Pernyataan ORDER Query jenis ini lebih kepada menyusun carian berdasarkan turutan menaik atau turutan menurun. Select * from Pembekal Order by NamaPembekal ASC Bermaksud Carian dari table Pembekal dengan mengikut susunan menaik NamaPembekal Select * from Pembekal Order by NamaPembekal DESC Bermaksud Carian dari table Pembekal dengan mengikut susunan menurun NamaPembekal.
10
Penggunaan INNER JOIN Tugas utamanya adalah untuk menggabungkan rekod-rekod dari dua atau lebih jadual dengan mengambil kira syarat yang diberikan oleh SQL Format mudah : SELECT * FROM table1 INNER JOIN table2 ON table1.field = table2.field
11
Jika SQL berikut diperolehi :
SELECT Pengarang, ISBN FROM JadualPengarang INNER JOIN [Tajuk] ON JadualPengarang.P_ID = [Tajuk].P_ID ORDER by Pengarang ASC Apakah maksudnya ?
12
Contoh penggunaan VB6 untuk pangkalan data 1
1. Dalam contoh ini ditunjukkan bagaimana VB6 boleh digunakan untuk memanipulasi pangkalan data. 2. Semua komponen utama untuk manipulasi pangkalan data akan digunakan dalam contoh ini. 3. Pernyataan SQL yang akan digunakan adalah yang paling asas iaitu menyediakan perhubungan kepada pangkalan data. Kemudian arahan-arahan VB6 akan digunakan untuk menghasilkan satu contoh pembinaan sistem pangkalan data yang mudah
13
Langkah-langkah yang boleh digunakan :
1. Bina suatu antaramuka seperti dalam rajah di bawah :
14
2. Namakan objek-objek yang akan digunakan berdasarkan antaramuka yang disediakan di atas :
Ada 8 butang (commandbutton). Gunakan nama-nama berikut : cmdPadam(untuk butang Delete) cmdClear(untuk butang Clear) cmdSimpan(untuk butang Simpan) cmdPertama(untuk butang Pertama) cmdBerikut(untuk butang Berikut) cmdSebelum(untuk butang Sebelum) cmdAkhir(untuk butang Akhir) cmdKeluar(untuk butang Keluar)
15
b. Ada 5 textbox yang digunakan :
txtMatrik txtNama txtIC txtAlamat txtICBapa c. Ada 2 label tambahan yang digunakan : lblBil lblRekod Ke d. Ada 1 adodc yang digunakan adodcDBPelajar Anda perlu untuk setkan adodcDBPelajar dengan cara yang telah ditunjukkan. Dalam contoh ini fail maklumatPelajar.mdb digunakan.
16
Pengishtiharan pembolehubah: Option Explicit Dim bilklik As Integer
3. Untuk setiap butang yang akan melaksanakan proses tertentu. Letakkan aturcara yang berikut: Pengishtiharan pembolehubah: Option Explicit Dim bilklik As Integer Dim bilangan, i As Integer a. Untuk butang Clear Private Sub cmdClear_Click() On Error Resume Next txtMatrik.Text = " " txtNama.Text = " " txtIC.Text = " " txtAlamat.Text = " " txtICBapa.Text = " " End Sub
17
b. Untuk butang Simpan sambung Private Sub cmdSimpan_Click()
On Error Resume Next Dim i As Integer i = MsgBox("Anda pasti untuk menambah data ?", vbYesNo, "Pemberitahuan") If i = 6 Then adodcDBpelajar.RecordSource = "select * from maklumatPel" adodcDBpelajar.Refresh adodcDBpelajar.Recordset.AddNew adodcDBpelajar.Recordset![no_matrik] = txtMatrik adodcDBpelajar.Recordset![namapelajar] = txtNama adodcDBpelajar.Recordset![ic] = txtIC adodcDBpelajar.Recordset![alamat] = txtAlamat adodcDBpelajar.Recordset![ic_bapa] = txtICBapa adodcDBpelajar.Recordset.Update Else txtMatrik.Text = "" txtNama.Text = "" txtIC.Text = "" txtAlamat.Text = "" txtICBapa.Text = "" End If sambung
18
Sambung … bilangan = 0 adodcDBpelajar.RecordSource = "select * from maklumatPel order by no_matrik" adodcDBpelajar.Refresh adodcDBpelajar.Recordset.MoveFirst Do While adodcDBpelajar.Recordset.EOF = False bilangan = bilangan + 1 adodcDBpelajar.Recordset.MoveNext Loop lblBil.Caption = " Bilangan pelajar adalah " & bilangan End Sub
19
c. Untuk butang Pertama Private Sub cmdPertama_Click()
On Error Resume Next bilklik = 0 adodcDBpelajar.RecordSource = "select * from maklumatPel order by no_matrik" adodcDBpelajar.Refresh adodcDBpelajar.Recordset.MoveFirst Do While adodcDBpelajar.Recordset.EOF = False bilangan = bilangan + 1 adodcDBpelajar.Recordset.MoveNext Loop bilklik = bilklik + 1 txtMatrik.Text = adodcDBpelajar.Recordset("no_matrik") txtNama.Text = adodcDBpelajar.Recordset("namapelajar") txtIC.Text = adodcDBpelajar.Recordset("ic") txtAlamat.Text = adodcDBpelajar.Recordset("alamat") txtICBapa.Text = adodcDBpelajar.Recordset("ic_bapa") lblRekodKe.Caption = "Rekod ke " & bilklik End Sub
20
d. Untuk butang Berikut :
Private Sub cmdBerikut_Click() On Error Resume Next bilklik = bilklik + 1 adodcDBpelajar.Recordset.MoveNext txtMatrik.Text = adodcDBpelajar.Recordset("no_matrik") txtNama.Text = adodcDBpelajar.Recordset("namapelajar") txtIC.Text = adodcDBpelajar.Recordset("ic") txtAlamat.Text = adodcDBpelajar.Recordset("alamat") txtICBapa.Text = adodcDBpelajar.Recordset("ic_bapa") If bilklik > 0 And bilklik <= adodcDBpelajar.Recordset.RecordCount Then lblRekodKe.Caption = "Rekod ke " & bilklik ElseIf bilklik = 0 Then ' End If End Sub
21
e. Untuk butang Sebelum:
Private Sub cmdSebelum_Click() Dim i As Integer On Error Resume Next bilklik = bilklik - 1 adodcDBpelajar.Recordset.MovePrevious txtMatrik.Text = adodcDBpelajar.Recordset("no_matrik") txtNama.Text = adodcDBpelajar.Recordset("namapelajar") txtIC.Text = adodcDBpelajar.Recordset("ic") txtAlamat.Text = adodcDBpelajar.Recordset("alamat") txtICBapa.Text = adodcDBpelajar.Recordset("ic_bapa") If bilklik > 0 And bilklik <= adodcDBpelajar.Recordset.RecordCount Then lblRekodKe.Caption = "Rekod ke " & bilklik ElseIf bilklik = 0 Then ' Else End If End Sub
22
f. Untuk butang Akhir: g. Untuk butang Keluar
Private Sub cmdAkhir_Click() On Error Resume Next adodcDBpelajar.Recordset.MoveLast txtMatrik.Text = adodcDBpelajar.Recordset("no_matrik") txtNama.Text = adodcDBpelajar.Recordset("namapelajar") txtIC.Text = adodcDBpelajar.Recordset("ic") txtAlamat.Text = adodcDBpelajar.Recordset("alamat") txtICBapa.Text = adodcDBpelajar.Recordset("ic_bapa") lblRekodKe.Caption = "Rekod terakhir" bilangan = 0 End Sub g. Untuk butang Keluar Private Sub cmdKeluar_Click() Unload Me
23
h. Untuk butang Delete Sambung … Private Sub cmdPadam_Click()
On Error Resume Next Dim i As Integer i = MsgBox("Anda pasti untuk memadam data ?", vbYesNo, "Pemberitahuan") If i = 6 Then adodcDBpelajar.Recordset.Delete Else i = MsgBox("Data tidak dipadam", vbOKOnly, "Perhatian") End If bilangan = 0 txtMatrik.Text = " " txtNama.Text = " " txtIC.Text = " " txtAlamat.Text = " " txtICBapa.Text = " " Sambung …
24
Sambung … adodcDBpelajar.RecordSource = "select * from maklumatPel order by no_matrik" adodcDBpelajar.Refresh adodcDBpelajar.Recordset.MoveFirst Do While adodcDBpelajar.Recordset.EOF = False bilangan = bilangan + 1 adodcDBpelajar.Recordset.MoveNext Loop lblBil.Caption = "Bilangan pelajar adalah " & bilangan End Sub
25
i. Untuk form_load() Private Sub Form_Load() adodcDBpelajar.RecordSource = "select * from maklumatPel order by no_matrik" adodcDBpelajar.Refresh adodcDBpelajar.Recordset.MoveFirst Do While adodcDBpelajar.Recordset.EOF = False bilangan = bilangan + 1 adodcDBpelajar.Recordset.MoveNext Loop lblBil.Caption = "Bilangan pelajar adalah " & bilangan Sambung …
26
Sambung …. cmdSimpan.Enabled = True cmdPertama.Enabled = True
cmdBerikut.Enabled = True cmdSebelum.Enabled = True cmdAkhir.Enabled = True cmdKeluar.Enabled = True cmdClear.Enabled = True cmdPadam.Enabled = True bilangan = 0 End Sub Form_load adalah suatu acara yang disediakan oleh VB6 yang boleh dilaksanakan terus apabila aturcara VB6 dilaksanakan.
27
Dalam contoh ini telah disediakan 2 data yang telah dimasukkan terlebih dahulu ke dalam pangkalan data. Anda perlu cuba memasukkan beberapa data yang lain dan cuba semua butang yang disediakan. Setiap butang yang disediakan akan berfungsi berdasarkan nama yang diberikan kepadanya.
28
Inilah adalah beberapa contoh larian aturcara tersebut :
30
Contoh penggunaan VB6 untuk pangkalan data 2
Di dalam contoh ini ditunjukkan cara lain penggunaan pangkalan data. Contoh ini menekankan penggunaan combobox sebagai pilihan untuk memilih senarai nombor matrik yang wujud di dalam pangkalan data. Apabila pengguna memilih satu dari matrik yang wujud. Senarai maklumat pelajar akan dipaparkan pada listbox.
31
Langkah-langkah yang boleh digunakan :
1. Bina suatu antaramuka seperti dalam rajah di bawah :
32
2. Namakan objek-objek yang akan digunakan berdasarkan antaramuka yang disediakan di atas :
a. Ada 1 butang (commandbutton). cmdKeluar(untuk butang Keluar) b. Ada satu listbox. listMaklumat c. Ada satu combobox. comboMatrik d. Ada satu adodc. adoMakPel
33
Pengishtiharan pembolehubah : Option Explicit
3. Untuk setiap butang yang akan melaksanakan proses tertentu. Letakkan aturcara yang berikut: Pengishtiharan pembolehubah : Option Explicit Dim medanloop As ADODB.Field Dim i As Integer *adodb.field boleh disetkan dengan memilih Project Reference kemudian tanda checklist pada Microsoft ActiveX Data Object 2.0 Library Untuk butang Keluar seperti biasa letakkan aturcara : Private Sub cmdKeluar_Click() Unload Me End Sub
34
b. Untuk comboMatrik_Click isikan aturcara berikut :
Private Sub comboMatrik_Click() listMaklumat.Clear adoMakPel.RecordSource = "select * from maklumatPel order by no_matrik" adoMakPel.Refresh Do While adoMakPel.Recordset.EOF = False If Combo1.Text = adoMakPel.Recordset("no_matrik") Then listMaklumat.AddItem ("Nombor matrik " & adoMakPel.Recordset("no_matrik")) listMaklumat.AddItem ("Nama " & adoMakPel.Recordset("namapelajar")) listMaklumat.AddItem ("Nombor kad pengenalan " & adoMakPel.Recordset("ic")) listMaklumat.AddItem ("Alamat " & adoMakPel.Recordset("alamat")) listMaklumat.AddItem ("Nombor IC bapa " & adoMakPel.Recordset("ic_bapa")) End If adoMakPel.Recordset.MoveNext Loop End Sub
35
b. Untuk Form_Load() isikan aturcara berikut :
Private Sub Form_Load() adoMakPel.RecordSource = "select no_matrik from maklumatPel order by no_matrik" adoMakPel.Refresh Do While adoMakPel.Recordset.EOF = False For Each medanloop In adoMakPel.Recordset.Fields comboMatrik.AddItem (medanloop.Value) i = i + 1 Next medanloop adoMakPel.Recordset.MoveNext Loop End Sub
36
Inilah adalah beberapa contoh larian aturcara tersebut :
37
Contoh penggunaan VB6 untuk pangkalan data 3
1. Di dalam contoh ini ditunjukkan cara lain penggunaan pangkalan data. 2. Contoh ini menekankan penggunaan pernyataan SQL InnerJoin untuk menggabungkan dua table yang berlainan. 3. Apabila pengguna menekan butang penggabungan dua table dalam fail pangkalan data yang sama.
38
Data yang wujud dalam table maklumatTam
Data yang wujud dalam table maklumatTam. No_matrik digunakan sebagai key Dua table yang wujud dalam maklumatPelajar.mdb
39
Langkah-langkah yang boleh digunakan :
1. Bina suatu antaramuka seperti dalam rajah di bawah :
40
2. Namakan objek-objek yang akan digunakan berdasarkan antaramuka yang disediakan di atas :
a. Ada 2 butang (commandbutton). cmdKeluar(untuk butang Keluar) cmdKlik(untuk butang Klik untuk lihat hasil … ) b. Ada satu listbox. listLihatHasil c. Ada satu adodc. adoMakPel
41
Pengishtiharan pembolehubah : Dim bil As Integer
3. Untuk setiap butang yang akan melaksanakan proses tertentu. Letakkan aturcara yang berikut: Pengishtiharan pembolehubah : Dim bil As Integer Untuk butang Keluar seperti biasa letakkan aturcara : Private Sub cmdKeluar_Click() Unload Me End Sub
42
untuk butang klik untuk lihat hasil innerjoin 2 table
Private Sub cmdKlik_Click() adoMakPel.RecordSource = " select maklumatPel.no_matrik, " & _ " maklumatPel.namapelajar, maklumatPel.alamat, " & _ " maklumatPel.ic, maklumatPel.ic_bapa, " & _ " maklumatTam.cgpa, maklumatTam.nama_bapa " & _ " from maklumatPel " & _ " inner join [maklumatTam] on " & _ " maklumatPel.no_matrik = " & _ " [maklumatTam].no_matrik order by " & _ " maklumatPel.no_matrik" adoMakPel.Refresh listLihatHasil.Clear Sambungan …
43
Sambung … bil = 1 Do While adoMakPel.Recordset.EOF = False
listLihatHasil.AddItem ("Pelajar " & bil) listLihatHasil.AddItem ("*****************") listLihatHasil.AddItem (" ") listLihatHasil.AddItem ("Nombor matrik : " & adoMakPel.Recordset![no_matrik]) listLihatHasil.AddItem ("Nama pelajar : " & adoMakPel.Recordset![namapelajar]) listLihatHasil.AddItem ("Nombor IC : " & adoMakPel.Recordset("ic")) listLihatHasil.AddItem ("Alamat : " & adoMakPel.Recordset![alamat]) listLihatHasil.AddItem ("Nama bapa : " & adoMakPel.Recordset![nama_bapa]) listLihatHasil.AddItem ("Nombor IC bapa : " & adoMakPel.Recordset![ic_bapa]) listLihatHasil.AddItem ("CGPA : " & adoMakPel.Recordset![cgpa]) listLihatHasil.AddItem (" ") adoMakPel.Recordset.MoveNext bil = bil + 1 Loop End Sub
44
Inilah adalah beberapa contoh larian aturcara tersebut :
Sebelum ditekan Selepas ditekan
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.