Diberdayakan oleh Blogger.

Selasa, 12 Mei 2009

Tulis ke registry menggunakan Visual Basic : menyimpan nama pengguna login terakhir di form login


Dalam pembuatan program kadang-kadang kita membutuhkan informasi yang bisa kita simpan dan akses secara reguler. Misalnya pengguna terakhir, jika program kita dilengkapi dengan form login, alangkah sangat baiknya jika kita menampilkan nama pengguna yang login terakhir. NNaahh... bagaimana caranya agar nama pengguna yang terakhir bisa selalu muncul pada form login?.


Tentunya ada banyak cara, cara yang pertama bisa saja simpan di database, atau simpan di file. dua cara tersebut tidak akan saya bahas, wong judulnya saja tulis ke registry, ya pastilah saya bahasna tulis ke registry, huehuehuehue. Pertama-tama kita harus menyimpan text yang ada pada form login, saya anggap control yang digunakan adalah txtNama. Cara penyimpanan kita lakukan pada saat tombol OK di click, dan passwordnya benar (kalau passwordnya salah, nama penggunanya tidak perlu disimpan kan?).


Private Sub cmdOK_Click()


If LoginBenar Then


SaveSetting "nama program", "login", " user", txtNama.Text


Private Sub Form_Load()


Dim isiSetting As String


'untuk menyimpan


SaveSetting "nama program", "nama section", " kata kunci", "setting"


'untuk membaca


isiSetting = GetSetting("nama program", "nama section", "kata kunci", "")


txtNama.Text=isiSetting


End Sub

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