Diberdayakan oleh Blogger.

Selasa, 12 Mei 2009

Membuat Form Entri Database dengan Visual Basic .Net 2008


Ini merupakan contoh membuat sebuah program entri sederhana dengan menggunakan Visual Basic .Net 2008. Adapun kasus yang diterapkan adalah Entri Data Dosen, dengan menggunakan sebuah form yang diberi Nama frmDosen. Pertama-tama siapkan database di SQL Server (saya menggunakan SQL Server 2000) dengan tabel bernama tbDosen dengan field-field seperti dibawah ini:








Langkah berikut adalah mempersiapkan form frmDosen dengan tampilan seperti dibawah ini:









adapun kontrol-kontrol yang dibutuhkan adalah:




name kontrol


txtbidangkeahlian textbox


txtJabatanFungsional textbox


txtIdentitas textbox


txtNamaDosen textbox


txts1 textbox


txts2 textbox


txts3 textbox


txttempatlahir textbox


rdtetap radio button


rdlb radio button


dttgllahir dtpicker


cmdsimpan command button


cmdbersih command button


cmdhapus command button


cmdtutup command button




Setelah keduanya disiapkan, saatnya untuk melanjutkan dengan coding program. pertama-tema kita harus mempersiapkan koneksi ke database dengan menggunakan perintah Import pada level form yakni:




Imports System

Imports System.Data

Imports System.Data.SqlClient


letakkan perintah ini diatas public class frmDosen (yang muncul jika kita mendouble click salah satu dari control dari form).

Public Class frmDosen

Private Sub cmdTutup_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdTutup.Click

Me .Close()

End Sub


Private Sub cmdBersih_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBersih.Click

txtKodeDosen.Text = ""

txtKodeDosen.Focus()

End Sub

Private Sub bersihForm()

txtBidangKeahlian.Text = ""

txtIdentitas.Text = ""

txtJabatanFungsional.Text = ""

txtNamaDosen.Text = ""

txtS1.Text = ""

txtS2.Text = ""

txtS3.Text = ""

txtTempatLahir.Text = ""

rdTetap.Checked = True

rdLB.Checked = Not rdTetap.Checked

dtTglLahir.Value = Date .Today

End Sub

Private Sub cmdHapus_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click

Dim con As SqlConnection

Dim cmdDosen As SqlCommand

Dim strSQL As String

If MsgBox( "Apakah anda yakin akan menghapus data ini?" , MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Konfirmasi hapus data " & Me .Text) = MsgBoxResult.Yes Then

Try

con = New SqlConnection(mdlUtama.cnString)

con.Open()

strSQL = "delete FROM tbdosen WHERE kodedosen='" & txtKodeDosen.Text & "'"

cmdDosen = New SqlCommand(strSQL, con)

cmdDosen.ExecuteScalar()

Catch x As Exception

MsgBox( "Terjadi kesalahan pada hapus di " & Me .Text & " dengan pesan:" & Chr(13) & x.Message, MsgBoxStyle.Critical, "Kesalahan pada:" & Me .Text)

End Try

End If

End Sub

Private Sub frmDosen_KeyPress( ByVal sender As Object , ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me .KeyPress

If Asc(e.KeyChar) = 13 Then

SendKeys.Send( "{tab}" )

End If

End Sub

Private Sub frmDosen_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase .Load

End Sub

Private Sub txtKodeDosen_KeyPress( ByVal sender As Object , ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtKodeDosen.KeyPress

e.KeyChar = Chr(Asc(UCase(e.KeyChar)))

End Sub

Private Sub txtKodeDosen_TextChanged( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKodeDosen.TextChanged

Dim conDosen As SqlConnection

Dim comDosen As SqlCommand

Dim rsDosen As SqlDataReader

Dim strSQL As String

If txtKodeDosen.Text = "" Then

bersihForm()

Else

Try

conDosen = New SqlConnection(mdlUtama.cnString)

conDosen.Open()

strSQL = "SELECT * FROM tbdosen WHERE kodedosen='" & txtKodeDosen.Text & "'"

comDosen = New SqlCommand(strSQL, conDosen)

rsDosen = comDosen.ExecuteReader

If rsDosen.Read Then

txtNamaDosen.Text = rsDosen( "nama" ).ToString

txtTempatLahir.Text = rsDosen( "tempatlahir" ).ToString

dtTglLahir.Value = Format(rsDosen( "tgllahir" ), "yyyy-MM-dd" )

txtIdentitas.Text = rsDosen( "identitas" ).ToString

txtS1.Text = rsDosen( "pendidikans1" ).ToString

txtS2.Text = rsDosen( "pendidikans2" ).ToString

txtS3.Text = rsDosen( "pendidikans3" ).ToString

txtJabatanFungsional.Text = rsDosen( "jabfungsional" ).ToString

txtBidangKeahlian.Text = rsDosen( "bidangkeahlian" ).ToString

rdTetap.Checked = IIf(rsDosen( "dosentetap" ).ToString = 0, True , False )

rdLB.Checked = Not rdTetap.Checked

Else

bersihForm()

End If

Catch ex As Exception

MsgBox( "Terjadi kesalahan pada pembacaan di " & Me .Text & " dengan pesan:" & Chr(13) & ex.Message, MsgBoxStyle.Critical, "Kesalahan pada:" & Me .Text)

End Try

End If

End Sub

Private Sub cmdSimpan_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click

Dim con As SqlConnection

Dim comDosen As SqlCommand

Dim rsDosen As SqlDataReader

Dim strSQL As String

Try

con = New SqlConnection(mdlUtama.cnString)

strSQL = "SELECT * FROM tbdosen WHERE kodeDosen='" & txtKodeDosen.Text & "'"

con.Open()

comDosen = New SqlCommand(strSQL, con)

rsDosen = comDosen.ExecuteReader

If rsDosen.Read Then

If MsgBox( "Data ini sudah ada, mau diperbaiki?" , MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Konfirmasi edit data" ) = MsgBoxResult.Yes Then

strSQL = "UPDATE tbdosen set nama='" & txtNamaDosen.Text & "',tempatlahir='" & txtTempatLahir.Text & "',tgllahir='" & Format(dtTglLahir.Value, "yyyy-MM-dd" ) & "',identitas='" & txtIdentitas.Text & "',pendidikans1='" & txtS1.Text & "',pendidikans2='" & txtS2.Text & "',pendidikans3='" & txtS3.Text & "',jabfungsional='" & txtJabatanFungsional.Text & "',bidangkeahlian='" & txtBidangKeahlian.Text & "',dosentetap=" & IIf(rdTetap.Checked = True , 0, 1) & " WHERE kodedosen='" & txtKodeDosen.Text & "'"

Else

strSQL = ""

End If

Else

strSQL = "INSERT INTO tbdosen(kodedosen,nama,tempatlahir,tgllahir,identitas,pendidikans1,pendidikans2,pendidikans3,jabfungsional,bidangkeahlian,dosentetap) VALUES('" & txtKodeDosen.Text & "','" & txtNamaDosen.Text & "','" & txtTempatLahir.Text & "','" & Format(dtTglLahir.Value, "yyyy-MM-dd" ) & "','" & txtIdentitas.Text & "','" & txtS1.Text & "','" & txtS2.Text & "','" & txtS3.Text & "','" & txtJabatanFungsional.Text & "','" & txtBidangKeahlian.Text & "'," & IIf(rdTetap.Checked = True , 0, 1) & ")"

End If

rsDosen.Close()

If strSQL <> "" Then

comDosen = New SqlCommand(strSQL, con)

comDosen.ExecuteScalar()

End If

con.Close()

comDosen = Nothing

con = Nothing

txtKodeDosen.Text = ""

Catch x As Exception

MsgBox( "Terjadi kesalahan pada hapus di " & Me .Text & " dengan pesan:" & Chr(13) & x.Message, MsgBoxStyle.Critical, "Kesalahan pada:" & Me .Text)

End Try

End Sub

End Class

4 komentar:

  1. seharusnya habis ada kodingan trus di print screen hasilnya

    BalasHapus
  2. mo nanya dunkz untuk script dibwah ini :
    Dim con As MySqlConnection = New MySqlConnection("server=localhost;user id=root;password=chandra;database=scp; pooling=false;Connection Timeout=5")
    con.Open()

    Dim StrSQL As String = "SELECT akses FROM user WHERE nama='" & txtUsername.Text & "'"

    Dim excu As MySqlCommand = New MySqlCommand(StrSQL, con)

    Dim joe As MySqlDataReader = excu.ExecuteReader
    joe.Read()
    If StrSQL = "admin" Then
    FormAdmin.Show()
    txtUsername.Clear()
    txtPassword.Clear()
    ElseIf StrSQL = "pegawai" Then
    FormPeg.Show()
    txtUsername.Clear()
    txtPassword.Clear()
    End If
    joe.Close()

    mo nanya dunkzz,,itu hasil dari sql command nya bisa ga di masukin ke string trus baru digunakan untuk kondisi if,,seperti yang terlihat diatas...

    BalasHapus
  3. @anonim1: source code lengkapnya sudah saya posting mas
    @anonim2:
    mungkin seperti ini:

    if joe( "tingkat" ).ToString="admin" then

    saya asumsikan nama fieldnya tingkat untuk "pegawai" atau "adminnya",

    BalasHapus
  4. thansk bantuannya,,,
    it's work...fiuh...

    BalasHapus