database vb net & sql
Post on 30-Jun-2015
932 Views
Preview:
TRANSCRIPT
Database dengan SQL Server Compact Edition
7.1. Mendesain Database
Yang dimaksud mendesain database adalah merancang suatu database yang akan
digunakan dalam suatu aplikasi yang akan dibangun. Database itu sendiri secara
umum adalah kumpulan dari beberapa tabel yang saling berelasi.
Adapun database yang akan kita buat adalah Database Adventori Barang, maka
desain tabel yang akan digunakan adalah sebagai berikut :
Tabel Barang
Nama Field Data Type Length Primery Key
Kode_Brg* nvarchar 5 Yes
Nama_Brg nvarchar 30 No
Stok_Brg numeric 5 No
Harga_Jual money 19 No
7.2. Membuat Database
Setelah mendesain tabel, langkah selanjutnya adalah membuat database tersebut.
Pada bab ini, pembuatan database menggunakan SQL Server Compact Edition yang
dilakukan langsung dari Visual Studio 2008 . Langkah-langkahnya adalah sebagai
berikut :
1. Buka project baru dengan template Windows Form Apllication dan beri nama
Form Penjualan.
2. Klik menu Project > Add New Item...
3. Pada jendela Add New Item, pilih Categories Data dan Templates Local Database,
dan beri nama “TokoArsia” pada kotak Name. Seperti tampilan gambar dibawah
(gambar 24).
4. Kemudian klik tombol Add.
Gambar 24. Jendela Add New Item
5. Pada jendela Data Source Configuration Wizard, isikan nama
“TokoArsiaDataSet” pada kotak DataSet name seperti tampilan gambar 25
dibawah ini.
6. Terakhir, klik tombol Finish.
Gambar 25. Jendela Data Source Configuration Wizard
7.3. Membuat Tabel Barang
Setelah database dibuat, dilanjutkan dengan membuat tabel dan menentukan kolom
pada setiap tabel seperti desain tabel yang kita buat sebelumnya. Caranya adalah :
1. Klik menu View > Server Explorer untuk menampilkan jendela Server Explorer
seperti gambar dibawah ini :
Gambar 26. Jendela Server Explorer
2. Pada jendela Server Explorer, klik kanan pada Tables, dan klik Create Tables
untuk membuka jendela New Table.
3. Isi nama tabel pada Kotak Name menjadi TabelBarang dan isi field-field yang
dibutuhkan pada kolom Column Name, type data pada Data Type, dan panjang
karakter di kolom Length. Jangan lupa mengunci Kode_Brg dengan mengubah
Primary menjadi Yes agar kode yang dimasukkan tidak ganda / tidak sama,
kemudian klik tombol OK.
Gambar 27. Jendela New Table untuk TabelBarang
7.4. Mengkonfigurasi Data Source
Buka Jendela Data Source dengan cara klik menu Data > Show Data Sources.
Perhatikan pada panel Data Sources DataSet ‘TokoArsiaDataSet’ yang terbentuk,
belum mendeteksi penambahan tabel barang pada database, sehingga tidak dapat
mengakses data tabel ‘barang’.
Untuk menambahkan Tabel Barang yang telah dibuat sebelumnya, ikuti langkah-
langkah berikut :
1. Klik kanan pada TokoArsiaDataSet > Configure DataSet with Wizard.
Gambar 28. Jendela Data Source Configuration Wizard
2. Pada jendela Data Source Configuration Wizard, centang semua objek database
yang tersedia, termasuk field-field pada tabel barang.
3. Kemudian klik tombol Finish dan hasil konfigurasi data source akan terlihat seperti
gambar berikut :
Gambar 29. Hasil Konfigurasi DataSource TokoArsiaDataSet
Setelah berhasil mengkonfigurasi, disamping tab Form Design akan muncul file
TokoArsiaDataSet yang berekstensi *.xsd. Dan akan terlihat desain DataSet yang
menampilkan TableAdapterManager seperti gambar berikut :
Gambar 30. File TokoArsiaDataSet.xsd
Gambar 31. Jendela Properties DataAdapter
7.5. Mendesain Antarmuka Aplikasi
Langkah selanjutnya adalah mendesain antarmuka jendela aplikasi untuk mengelola
data pada tabel barang. Untuk lebih jelas lagi ikuti langkah-langkah berikut :
Mendesain Form Tampil
Form Pertama yang dibuat adalah Form Tampil yang digunakan untuk menampilkan
data dalam tabel barang.
1. Bukalah Form baru dan beri nama “FormTampil.vb”.
2. Tambahkan dan atur properties tiap komponennya pada FormTampil seperti berikut
:
Komponen Properties
Form1 (Name) : FormTampil, (Text) : Tabel Data
Barang
DataSet (Name) : dataSetTampilBarang
(DataSetName) : TokoArsiaDataSet
BindingSource (Name) : bsTampilBarang
(Data Source) : dataSetTampilBarang(Data Member) : TabelBarang
TableAdapter (Name) : TableAdapterTampilBarang
Panel1 (Name) : Panel1
Panel2 (Name) : Panel2, (BorderStyle) : Fixed3D
Binding Navigator1
(Name) : bnTampilBarang(Dock) : Bottom, (GripStyle) : Hidden
(BindingSource) : bsTampilBarang(Text) : Navigasi Data Tabel Barang
Label1 (Name) : Judul, (Text Align) : MiddleCenter
(Text) : .:: DATA TABEL BARANG ::.
DataGridView(Name) : gridDataBarang
(BindingSource) : bsTampilBarang
TextBox1 (Name) : TxtCari
ComboBox1(Name) : CmbCari, (Text) : Kolom(Items) : Kode, Nama, Stok, Harga
Button1 (Name) : BtnCari, (Text) : Cari
Button2 (Name) : BtnShow, (Text) : Show All
Button3 (Name) : BtnTambah, (Text) : Tambah
Button4 (Name) : BtnUbah, (Text) : Ubah
Button5 (Name) : BtnHapus, (Text) : Hapus
Button6 (Name) : BtnTutup, (Text) : Tutup
3. Atur komponen tersebut pada jendela FormTampil seperti gambar 31 berikut ini :
Gambar 32. Desain Form Tampil
Konfigurasi Kontrol GridData View
GridDataView digunakan untuk menampilkan data dalam bentuk tabel, komponen ini
harus dihubungkan dengan BindingSource.
1. Klik menu DataGridView Tasks pada GridDataView, pilih properti Choose Data
Source : bsTampilBarang.
Gambar 33. Menu DataGridView Tasks
2. Kemudian klik Edit Columns untuk menambahkan header.
3. Pada jendela Edit Columns, atur properti header Text dan ukuran masing-masing
kolom, seperti gambar berikut :
Gambar 34. Jendela Edit Columns
Membuat TabelAdapter
Langkah selanjutnya adalah membuat tabel Adapter yang digunakan untuk
memasukkan, mengubah, menampilkan dan menghapus data.
1. Buka file TokoArsiaDataSet.xsd melalui jendela Solution Explorer.
Gambar 35. Desain File TokoArsiaDataSet.xsd
2. Terlihat pada TableBarangTableAdapter ada sebuah perintah SQL Fill,GetData ().
3. Pilih Query pada Jendela Toolbox DataSet, dan drag ke dalam area Table Adapter
sehingga muncul jendela TableAdapter Query Configuration Wizard.
4. Klik tombol Next untuk memilih type query yang digunakan.
Gambar 36. Jendela Toolbox DataSet
Gambar 37. Jendela TableAdapter Query Configuration Wizard
Gambar 38. Jendela Choose a Query Type
5. Pada jendela Choose a Query Type, pilih radio button “SELECT which return
rows”. Selanjutnya klik tombol Next.
Gambar 39. Jendela Specify a SQL SELECT statement
6. Pada jendela Specify a SQL SELECT statement akan tampil perintah SQL seperti
gambar diatas. Klik tombol Query Builder.
7. Pada jendela Query Builder, tuliskan perintah SQL sebagai berikut :
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_Jual
FROM TabelBarang
WHERE Kode_Brg LIKE ?
8. Setelah itu klik Execute Query dan otomatis tanda ‘?’ akan berubah menjadi
@param1.
9. Masukkan nilai “sb001” pada kotak Query Parameter yang muncul. Selanjutnya
klik tombol OK.
10. Klik tombol OK lagi pada Query Builder dan perhatikan statement SQL berubah
seperti dibawah ini :
Gambar 40. Jendela Query Builder
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_JualFROM TabelBarangWHERE (Kode_Brg LIKE @Param1)
Gambar 41. Jendela Query Parameter
11. Klik tombol Next untuk melanjutkan pembuatan TabelAdapter.
12. Pada Jendela Choose Method to Generate, isikan Method Name pada Fill a
DataTable dengan “FillByKode” dan Methode Name pada Return a Data Table
dengan “GetDataByKode”, kemudial Klik tombol Next.
13. Akan muncul jendela informasi pembuatan statemen SQL dan method Fill dan
GetData. Klik tombol Finish untuk mengakhiri pembuatan TableAdapter.
Gambar 42. Jendela Choose Methods to Generate
Gambar 43. Jendela Wizard Results
Hasil yang terlihat pada TabelBarangTabelAdapter adalah seperti gambar berikut ini :
Gambar 44. TabelAdapter untuk Kode
Dengan cara yang sama pada langkah-langkah diatas, buatlah statemen TableAdapter
sebagai berikut :
Nama Method/Fungsi
Statemen
FillByNamaGetDataByNama
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_JualFROM TabelBarangWHERE Nama_Brg LIKE ?
FillByStokGetDataByStok
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_JualFROM TabelBarangWHERE Stok_Brg LIKE ?
FillByHargaGetDataByHarga
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_JualFROM TabelBarangWHERE Harga_Jual LIKE ?
FillByAllKolomGetData
ByAllKolom
SELECT Kode_Brg, Nama_Brg, Stok_Brg, Harga_JualFROM TabelBarangWHERE (Kode_Brg LIKE @ParamString) OR (Nama_Brg LIKE @ParamString) OR (Stok_Brg LIKE @ParamDecimal) OR (Harga_Jual LIKE @ParamDecimal)
Update TabelBarang
UPDATE TabelBarangSET Nama_Brg=@p2, Stok_Brg=@p3, Harga_Jual=@p4WHERE (Kode_Brg=@p1)
Validasi KodeGetDataKode
SELECT Kode_BrgFROM TabelBarangWHERE (Kode_Brg LIKE @valid)
Hasil dati TabelAdapter adalah sebagai berikut :
Gambar 45. Hasil Akhir pembuatan TabelAdapter
Mendesain Form Operasi
Terakhir membuat Form Operasi yang berfungsi untuk menginput, mengubah¸dan
menampilkan data saat melakukan penghapusan data.
1. Tambahkan Form baru ke dalam Project.
2. Atur komponen sebagai berikut :
Komponen Properties
Form1 (Name) : FormOperasi, (Text) : Input Data
Barang
GroupBox1 (Name) : GrupData, (Text) : Data Barang
(Tab Index) : 1
Label1 (Name) : lblKode, (Text) : Kode Barang
Label2 (Name) : lblNama, (Text) : Nama Barang
Label3 (Name) : lblStok, (Text) : Stok Barang
Label4 (Name) : lblHarga, (Text) : Harga Jual
Label5 (Name) : lblRp, (Text) : Rp.
MaskedTextBox1 (Name) : KodeBarang, (ASCII Only) : True
(Mask) : ??000, (Prompt Char) : -spasi-(Tab Index) : 1
TextBox1 (Name) : NamaBarang, (Tab Index) : 2
MaskedTextBox2 (Name) : StokBarang, (Mask) : 000,
(Prompt Char) : -spasi-, (Tab Index) : 3
MaskedTextBox3 (Name) : HargaBarang, (Mask) : 00000000,
(Prompt Char) : -spasi-, (Tab Index) : 4
Button1 (Name) : BtnSimpan, (Text) : Simpan
(Tab Index) : 5
Button2 (Name) : BtnHapus, (Text) : Hapus
(Tab Index) : 6
Button3 (Name) : BtnTutup, (Text) : Tutup
(Tab Index) : 7
DataSet (Name) : dataSetInputBarang
(DataSetName) : TokoArsiaDataSet
BindingSource (Name) : bsInputBarang
(DataSetName) : dataSetInputBarang(DataMember) : TabelBarang
TableAdapter (Name) : InputBarangTableAdapter
Gambar 46. Desain Form Operasi
7.6. Script Form Tampil
Klik ganda pada Form Tampil, dan tuliskan Script berikut ini :
Public Class FormTampil
Friend simpan As Boolean
Private Sub FormTampil_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.TabelBarangTableAdapter.Fill(Me.dataSetTampilBarang.TabelBarang)
End Sub
Private Sub BtnTutup_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnTutup.Click
Me.Dispose()End Sub
Private Sub BtnShow_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnShow.Click
Me.TabelBarangTableAdapter.Fill(Me.dataSetTampilBarang.TabelBarang)End Sub
Private Sub BtnTambah_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
simpan = TrueMe.Enabled = FalseFormOperasi.Show()
End Sub
Private Sub BtnHapus_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
isiKomponenInput()simpan = FalseFormOperasi.Text = "Menghapus Data Tabel Barang"FormOperasi.KodeBarang.ReadOnly = TrueFormOperasi.NamaBarang.ReadOnly = TrueFormOperasi.StokBarang.ReadOnly = TrueFormOperasi.HargaJual.ReadOnly = TrueFormOperasi.BtnHapus.Visible = TrueFormOperasi.BtnSimpan.Visible = False
Me.Enabled = FalseFormOperasi.Show()FormOperasi.BtnHapus.Focus()
End Sub
Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
simpan = FalseisiKomponenInput()FormOperasi.Text = "Mengubah Data Tabel Barang"FormOperasi.KodeBarang.Enabled = FalseMe.Enabled = FalseFormOperasi.Show()
End Sub
Private Sub isiKomponenInput()Dim dataKode As New System.Windows.Forms.Binding("text", Me.bsTampilBarang, "Kode_Brg", True)Dim dataNama As New System.Windows.Forms.Binding("text", Me.bsTampilBarang, "Nama_Brg", True)Dim dataStok As New System.Windows.Forms.Binding("text", Me.bsTampilBarang, "Stok_Brg", True)Dim dataHarga As New System.Windows.Forms.Binding("text", Me.bsTampilBarang, "Harga_Jual", True)FormOperasi.KodeBarang.DataBindings.Add(dataKode)FormOperasi.NamaBarang.DataBindings.Add(dataNama)FormOperasi.StokBarang.DataBindings.Add(dataStok)FormOperasi.HargaJual.DataBindings.Add(dataHarga)
End Sub
Private Sub BtnCari_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnCari.Click
On Error Resume NextDim cari = TxtCari.TextDim kolom = CmbCari.Text
If (Equals("Kode", kolom)) ThenMe.TabelBarangTableAdapter.FillByKode(dataSetTampilBarang.TabelBarang, cari)
ElseIf (Equals("Nama", kolom)) ThenMe.TabelBarangTableAdapter.FillByNama(dataSetTampilBarang.TabelBarang, cari)
ElseIf (Equals("Stok", kolom)) ThenMe.TabelBarangTableAdapter.FillByStok(dataSetTampilBarang.TabelBarang, cari)
ElseIf (Equals("Harga", kolom)) ThenMe.TabelBarangTableAdapter.FillByHarga(dataSetTampilBarang.TabelBarang, cari)
ElseIf (Equals("Semua", kolom)) ThenMe.TabelBarangTableAdapter.FillByAllKolom(dataSetTampilBarang.TabelBarang, cari, Val(cari))
ElseIf (Me.CmbCari.Text = "Kolom") ThenMsgBox("Pilih kolom pencarian")
End If
Dim byk As Integerbyk = Me.dataSetTampilBarang.TabelBarang.Rows.Count
If (byk <= 0) Then
MsgBox("Data tidak ditemukan",MsgBoxStyle.Information, "Hasil Cari")
ElseMsgBox("Data [" & Me.TxtCari.Text & "] ditemukan [" & byk.ToString & "]buah", MsgBoxStyle.Information, "Cari")
End If
Me.TxtCari.Text = ""Me.CmbCari.Text = "Kolom"Me.BtnCari.Enabled = False
End Sub
Private Sub CmbCari_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CmbCari.SelectedIndexChanged
If (Me.TxtCari.Text <> "") ThenBtnCari.Enabled = True
End IfEnd Sub
End Class
7.7. Script Form Operasi
Klik ganda pada Form Tampil, dan tuliskan Script berikut ini :
Public Class FormOperasiDim n1, n2 As StringDim n3, n4 As Double
Private Sub kosong()Me.KodeBarang.Text = ""Me.NamaBarang.Text = ""Me.StokBarang.Text = 0Me.HargaJual.Text = 0
End Sub
Private Sub FormOperasi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.InputBarangTableAdapter.Fill(Me.dataSetInputBarang.TabelBarang)End Sub
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
n1 = Me.KodeBarang.Textn2 = Me.NamaBarang.Textn3 = Val(Me.StokBarang.Text)n4 = Val(Me.HargaJual.Text)
Dim pesan As Object
If (FormTampil.simpan = True) ThenDim isi As IntegerInputBarangTableAdapter.ValidasiKode(dataSetInputBarang.TabelBarang, n1)isi = dataSetInputBarang.TabelBarang.Rows.Count
If (isi <= 0) ThenFormTampil.TabelBarangTableAdapter.Insert(n1, n2, n3, n4)
ElseMsgBox("Kode sudah ada", MsgBoxStyle.Critical, "Error kode")Me.KodeBarang.Text = ""Me.KodeBarang.Focus()
End Ifpesan = "Data telah disimpan"
Elsepesan = "Data" & Me.KodeBarang.Text & "telah diubah"
End If
MsgBox(pesan, MsgBoxStyle.Information, "Simpan")FormTampil.TabelBarangTableAdapter.ClearBeforeFill = TrueFormTampil.TabelBarangTableAdapter.Fill(FormTampil.dataSetTampilBarang.TabelBarang)FormTampil.gridDataBarang.Refresh()FormTampil.Enabled = TrueMe.Dispose()
End Sub
Private Sub BtnTutup_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnTutup.Click
FormTampil.Enabled = TrueMe.Dispose()
End Sub
Private Sub BtnHapus_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
n1 = Me.KodeBarang.TextFormTampil.TabelBarangTableAdapter.Delete(n1)MsgBox("Data telah dihapus", MsgBoxStyle.Information, "Hapus")FormTampil.TabelBarangTableAdapter.ClearBeforeFill = TrueFormTampil.TabelBarangTableAdapter.Fill(FormTampil.dataSetTampilBarang.TabelBarang)FormTampil.gridDataBarang.Refresh()Me.BtnHapus.Visible = FalseMe.BtnSimpan.Visible = TrueFormTampil.Enabled = TrueMe.Dispose()
End Sub
Private Sub KodeBarang_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles KodeBarang.LostFocus
Dim isi As IntegerInputBarangTableAdapter.ValidasiKode(dataSetInputBarang.TabelBarang, Me.KodeBarang.Text)isi = dataSetInputBarang.TabelBarang.Rows.Count
If (Equals(Me.KodeBarang.Text, "")) ThenMsgBox("Tolong isikan Kode Barang", MsgBoxStyle.Exclamation, "Kode Kosong")Me.KodeBarang.Text = ""Me.KodeBarang.Focus()
ElseIf (isi >= 1 And FormTampil.simpan = True) ThenMsgBox("Kode sudah ada", MsgBoxStyle.Exclamation, "Error Kode")Me.KodeBarang.Text = ""Me.KodeBarang.Focus()
End IfEnd Sub
Private Sub NamaBarang_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles NamaBarang.GotFocus
'Membuat Kode menjadi huruf besarMe.KodeBarang.Text = Me.KodeBarang.Text.ToUpper()
End Sub
End Class
Gambar 47. Hasil Akhir Aplikasi Adventori Barang
top related