Sunday, December 13, 2009

Simple AutoNumber(Nomor urut pengantrian data) dengan VB.NET dan Myql

Pada tutorial kali ini kita akan belajar membuat auto number dengan Query(database MySql) dan penerapannya di VB.net. contoh kasus, kita mempunyai tabel barang dengan atribut [kd_barang, nama_barang, harga barang]. Nah untuk menjaga agar kd_barang terus berurut maka kita harus membuat kd_barang secara otomatis pada saat prosess pengentrian data barang. Dan format kd_barang berupa 4 digit karakter yang di awali dengan huruf ”Y” contoh : Y001. Querynya Sebagai berikut :

SELECT CONCAT( 'Y' ,LPAD(( RIGHT( MAX(kd_barang),3)+1),3,'0')) as kode FROM barang;

Keterangan : Query di atas di ambil dari websitenya pak ahcmatim http://achmatim.net untuk mengetahui penjelasan lengkapnya tentang query di atas bisa langsung kunjungi websitenya pak achmatim saja :P~~.

Hmm... terus bagamana penerapannya di vb.net?? Ok, pertama2 siapkan formnya dengan beberapa kontrol yang di perluakan seperti textbox dan kontrol yang lain yang dianggap penting menurut teman-teman. Contoh formnya :









Selanjutnya, Ada hal yang perlu kita lakuakan sebelum memulai tahap koding yaitu kita harus membuat data source (DNS) terlebih dahulu menggunakan bantuan pihak ketiga (ODBC 3.51 Driver) agar project kita terkoneksi ke database MySql. alternatif lain yang lebih mudah yaitu dengan menambahkan file MySql.Data.dll keproject kita. cara menambahkannya bisa dilihat di tutorial sebelumnya disini.

Berikut adalah sub program untuk membuat AutoNumbernya :


Private Sub autonumber()

Try

cmd = New MySqlCommand("SELECT CONCAT( 'Y' ,LPAD(( RIGHT( MAX(kd_brg),3)+1),3,'0')) as kode FROM barang", con)

reader = cmd.ExecuteReader

If reader.Read Then

TextBox1.Text = reader.Item("kode")

Else

TextBox1.Text = "Y001"

End If

Catch ex As Exception

MsgBox(ex.Message, MsgBoxStyle.Exclamation)

End Try

End Sub


Kode Lengkapnya Sebagai berikut :

Imports MySql.Data.MySqlClient

Public Class Form1

Public strKoneksi As String = "server=localhost;uid=root;pwd=;database=auto"

Dim cmd As MySqlCommand

Dim reader As MySqlDataReader

Dim con As New MySqlConnection(strKoneksi)

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

If con.State = ConnectionState.Open Then con.Close()

con.Open()

autonumber()

End Sub

Private Sub autonumber()

Try

cmd = New MySqlCommand("SELECT CONCAT( 'Y' ,LPAD(( RIGHT( MAX(id),3)+1),3,'0')) as id_kd FROM autonumber", con)

reader = cmd.ExecuteReader

If reader.Read Then

TextBox1.Text = reader.Item("id_kd")

Else

TextBox1.Text = "Y001"

End If

Catch ex As Exception

MsgBox(ex.Message, MsgBoxStyle.Exclamation)

End Try

End Sub

End Class

Screen shot :






Download Demo Programnya disini






1 comments:

samsudin said...

aslm...
slm mas bro...
mas bro klo databasen-nya dengan SQL Server gimana mas ??
mohon pencerahaannya mas ...
mksh

Toggle

About Me

My Photo
ganteng,pinter,dewasa,mandiri,suka mencoba hal-hal Baru,suka tantangan.