50 likes | 180 Views
Menampilkan data dari database melalui store procedure . Nyimas Artina , S.Kom , M.Si. Sub TampilData () ValidasiKontrol (True) objDataTable.Clear () Dim KoneksiKu As New AksesData.KoneksiDatabase DataAdapter = New SqlDataAdapter ("Select * From Pegawai",KoneksiKu.Buka )
E N D
Menampilkan data dari database melalui store procedure NyimasArtina, S.Kom, M.Si
Sub TampilData() ValidasiKontrol(True) objDataTable.Clear() Dim KoneksiKu As New AksesData.KoneksiDatabase DataAdapter = New SqlDataAdapter("Select * From Pegawai",KoneksiKu.Buka) objDataSet = New DataSet DataAdapter.Fill(objDataSet, "TbPegawai") objDataTable = objDataSet.Tables("TbPegawai") DGPegawai.DataSource = objDataTable txtNIP.DataBindings.Add("TEXT", objDataTable, "NIP") txtNama.DataBindings.Add("TEXT", objDataTable, "NAMA") DTLahir.DataBindings.Add("VALUE", objDataTable, "TGLLAHIR") txtJalan.DataBindings.Add("TEXT", objDataTable, "JALAN") txtKota.DataBindings.Add("TEXT", objDataTable, "KOTA") txtKodepos.DataBindings.Add("TEXT", objDataTable, "KODEPOS") End Sub SubrutinTampilDataberfungsiuntukmengaturDataBindingkontroldanmemanggilsekaligusmengisinilai “True” untuksubrutinValidasiKontrol. DataBindingberfungsiuntuk “mengikat” kontroltertentu, misalTextBox, untukmenampungnilaidari Object tertentu, misalobjDataTable, sehinggaketikanilaiobjDataTablemakanilaidariTextBoxtersebutjugaikutberubah. Penjelasanselangkapnyadarikode program padasubrutinTampilDatadiatasadalahsebagaiberikut : ValidasiKontrol(True)
MemanggilsubrutinValidasiKontroldanmemberinilai “True” untuk parameter Bool. objDataTable.Clear() Menghapus nilai yang ada di objDataTable untuk menghindari penumpukan data yang dapat menyebabkan redundansi dan menyebabkan data tidak sama dengan data asli yang ada di tabel. Dim KoneksiKu As New AksesData.KoneksiDatabase DataAdapter = New SqlDataAdapter("Select * From Pegawai",KoneksiKu.Buka) objDataSet = New DataSet DataAdapter.Fill(objDataSet, "TbPegawai") objDataTable = objDataSet.Tables("TbPegawai") ProsesinisudahseringdibahaspadapembahasansebelumnyayaituhasilakhirnyaadalahuntukmengisinilaiobjDataTabledengan data daritabelPagawai (sesuaidenganSqlCommand-nya). DGPegawai.DataSource = objDataTable Mengatursumber data DGPegawai agar mengacukeobjDataTable txtNIP.DataBindings.Add("TEXT", objDataTable, "NIP") txtNama.DataBindings.Add("TEXT", objDataTable, "NAMA") DTLahir.DataBindings.Add("VALUE", objDataTable, "TGLLAHIR") txtJalan.DataBindings.Add("TEXT", objDataTable, "JALAN") txtKota.DataBindings.Add("TEXT", objDataTable, "KOTA") txtKodepos.DataBindings.Add("TEXT", objDataTable, "KODEPOS") ProsesDataBinding. Bentukumumnyaadalah : (“NamaProperti”, Data Source, “Data Member”) dimana “NamaProperti” merupakanproperti yang nilainyaakandi-Binding (“ikat”). KarenapropertipadaTextBox yang berfungsimenampilkan data adalahproperti “TEXT” makadiisikan “TEXT”. DataSourcemerupakansumber data, dalamhaliniadalahobjDataTablesehinggajikaterjadiperubahannilaidariobjDataTablemakaakanterjadiperubahannilaijugapadaTextBox. Sedangkan “Data Member” merupakan Field dariobjDataTable yang ingindiikatkandenganTextBox.
Di bawahsubrutinTampilData, ketikkankode program berikut : • Sub LepasBinding() • With Me • .txtJalan.DataBindings.Clear() • .txtKodepos.DataBindings.Clear() • .txtKota.DataBindings.Clear() • .txtNama.DataBindings.Clear() • .txtNIP.DataBindings.Clear() • .DTLahir.DataBindings.Clear() • End With • End Sub • Subrutininiberfungsiuntukmelepaskan/ menghapusDataBinding yang telahkitabuattadi. Hal inisangatbermanfaatkarenajikakitapanggilsubrutinTampilDatasebanyak 2 kali ataulebihmakasecaraotomatisakanmelaksanakanDataBindingsebanyak 2 kali ataulebihjugasehinggaakanmenyebabkan Error. UntukmenanganihaltersebutmakalebihbaikmemanggilsubrutinLepasBindingterlebihdahulusebelummemanggilTampilData. Ketikkan juga kode program di bawah ini setelah subrutin LepasBinding di atas : Sub KosongkanNilai() With Me .txtJalan.Text = "" .txtKodepos.Text = "" .txtKota.Text = "" .txtNama.Text = "" .txtNIP.Text = "" .DTLahir.Value = Today.Date End With End Sub
BerfungsiuntukmemberinilaikosongbagikontrolTextBox. Dan memberikannilaitanggalkomputerpadakontrolDTLahir. • Sub CekNIP() • objDataTable.Clear() • Dim KoneksiKu As New AksesData.KoneksiDatabase • Dim cmd As New SqlCommand("Select * From Pegawai Where NIP ='" & _ • txtNIP.Text & "'", KoneksiKu.Buka) • DataAdapter = New SqlDataAdapter(cmd) • objDataSet = New DataSet • DataAdapter.Fill(objDataSet, "CariNIP") • objDataTable = objDataSet.Tables("CariNIP") • End Sub • Berfungsiuntukmengecekapakah data dengan NIP yang terterapadatxtNIP.TexttelahadadiTabelPegawaiatautidak. Subrutininidigunakanketikakitainginmenambahsuatu data keTabelPegawai agar tidakterjadiduplikasi data. • Double klikpadaFrmPegawai ( janganmengenaikontrolapa pun, haruspada area FrmPegawai ) danketikkankode program berikutini : • TampilData() • MemanggilsubrutinTampilData • Double klikpada Button BtnClosedanketikkankode program berikutini : • LepasBinding() • Me.Close() • MelepaskanDataBindingdanmenutupFrmPegawai. DataBindingperludilepas agar ketikaFrmPegawaidi-Load danotomatismemanggilTampilData (secaraotomatisjugamembuatDataBinding) tidakterjadi double DataBinding.