VB.net Dgn Mysql

30
.NET Data Provider .NET Data Provider adalah sekumpilan class-class yang digunakan untuk melakukan koneksi ke database, serta untuk mengambil, meng- update, dan men-delete data. Visual Basic .NET mengklasifikasikan beberapa tipe .NET Data Provider berdasarkan jenis database yang digunakan, yaitu : SQL Server .NET Data Provider Provider ini dipakai untuk database SQL Server 7.0 dan versi diatasnya. C o n t o h : Imports System.Data.SqlClient LE DB .NET Data Provider Provider ini dipakai untuk database SQL Server 6.5, Microsoft Accsess, serta database lain yang mempunyai provider OLE DB. C o n t o h : Imports System.Data.OleDb ODBC .NET Data Provider Provider ini dipakai untuk database yang hanya mempunyai driver ODBC C o n t oh : Imports System.Data.Odbc Class-class yang terdapat didalam .NET Data Provider, meliputi : Connection Class Connection digunakan untuk melakukan koneksi ke dalam database Command Class Command digunakan untuk menjalankan perintah SQL pada database DataReader Class DataReader digunakan untuk melakukan pembacaan data pada database DataAdapter Class DataAdapter digunakan untuk menghubungkan antara database dengan dataset. 1) Object Connection 1.1 Property Connectionstring Sebuah connectionstring mendefinisikan parameter-parameter yang dibutuhkan dalam membuat suatu koneksi pada database.

Transcript of VB.net Dgn Mysql

Page 1: VB.net Dgn Mysql

.NET Data Provider

.NET Data Provider adalah sekumpilan class-class yang digunakan untukmelakukan koneksi ke database, serta untuk mengambil, meng-update, danmen-delete data.

Visual Basic .NET mengklasifikasikan beberapa tipe .NET Data Provider berdasarkan jenis database yang digunakan, yaitu :

SQL Server .NET Data ProviderProvider ini dipakai untuk database SQL Server 7.0 dan versi diatasnya.C o n t o h : Imports System.Data.SqlClient

LE DB .NET Data ProviderProvider ini dipakai untuk database SQL Server 6.5, Microsoft Accsess, serta database lain yang mempunyai provider OLE DB.C o n t o h : Imports System.Data.OleDb

ODBC .NET Data ProviderProvider ini dipakai untuk database yang hanya mempunyai driver ODBCC o n t oh : Imports System.Data.Odbc

Class-class yang terdapat didalam .NET Data Provider, meliputi :

ConnectionClass Connection digunakan untuk melakukan koneksi ke dalam database

CommandClass Command digunakan untuk menjalankan perintah SQL pada database

DataReaderClass DataReader digunakan untuk melakukan pembacaan data pada database

DataAdapterClass DataAdapter digunakan untuk menghubungkan antara database dengan dataset.

1) Object Connection

1.1 Property Connectionstring

Sebuah connectionstring mendefinisikan parameter-parameter yang dibutuhkan dalam membuat suatu koneksi pada database.

Page 2: VB.net Dgn Mysql

Contoh Connectionstring

Microsoft AccsessPublic strConn As String = _ "Provider=Microsoft.jet.OLEDB.4.0;Data" _& " Source=" & Application.StartupPath & "\penjualan.mdb; "

MySqlPublic Conn As String = "Server=localhost;User" & _ "ID=root;password=;database=sc"

Setelah membuat Connectionstring anda tinggal membuat Object dari class Connection. Untuk database MySql pembuatan object connection seperti berikut ini :

Dim con As MySqlConnection()con =New MySqlConnection(Conn)con.Open()

2) Object Command

Perintah SQL yang akan anda jalankan misalnya INSERT, UPDATE, DELETE harus menggunakan object command. Berikut contoh membuat object command :

Dim cmd As MySqlCommandcmd = New MySqlCommand("isi denan perintah SQL", con)

Selanjutnya anda harus melakukan eksekusi terhadap object command tersebut agar perintah SQL yang dibawa oleh object command itu dapat dijalankan pada database. Berikut ini beberapa metode yang dapat digunakan untuk menjalankan object command :

ExecuteReaderDigunakan saat kita ingin membaca/mencari data yang ada di database

ExecuteNonQueryDigunakan saat kita ingin menyimpan, mengubah, menghapus data yang ada di database.Con toh :

Dim cmd As MySqlCommandcmd = New MySqlCommand("isi denan perintah SQL", con cmd.ExecuteNonQuery

3) Object DataReaderDataReader merupakan object yang digunakan untuk membaca

data dari database. Didalam membuat object DataReader anda harus memanggil metode ExecuteReader dari object .Net yang lain yaitu object Command.

Page 3: VB.net Dgn Mysql

Co n to h :

Dim Reader As MySqlDataReaderReader = cmd.ExecuteReader

Sebelum membuat aplikasi database Visual Basic .NET dengan Database MySql terlebih dahulu buat databasenya dengan nama SC . Buat table-tabel sebagai berikut :

Ta bl e P el angg an

Field Type File SizeKd_Plg (PK) Varchar 7Nm_Plg Varchar 3Almt_Plg Varchar 5

0Telp_Plg Varchar 2

Ta bl e B aran g

Field Type File SizeKd_Brg (PK) Varchar 7Nm_Brg Varchar 3Harga Double -Stock int -Satuan Varchar 1

0

T a b el P e s a n

Field Type File SizeNo_Nota Varchar 7Kd_Brg Varchar 7Jml_Brg int -Harsat Double -

T a b el N o t a

Field Type File SizeNo_Nota Varchar 7Tgl_Nota date -Kd_Plg Varchar 7

Page 4: VB.net Dgn Mysql

T a b el T a n d a T e r i m a

Field Type File SizeNo_T T Varchar 7Tgl_T T date -No_Nota Varchar 7

T a b el K w i t a n s i

Field Type File SizeNo_Kwt Varchar 7Tgl_Kwt date -No_T T Varchar 7

Buka Visual Studio 2005 Caranya : Start =>All Program =>Microsoft Visual Studio2005 =>Microsoft Visual Studio 2005. Buat project baru caranya : File =>New Project=>Pada Project Type pilih Windows => pilih gambar yang ada tulisan WindowsApplication =>Isi Name dengan nama Penjualan => Click OK.Maka akan muncul tampilan seperti ini :

Kemudian pada jendela Solution Explorer yang berada di sebelah kanan click kanan Penjualan =>add => Module muncul kotak dialog add new item pilih Module isi name dengan nama ModConnect Click OK. Maka Tampilan Jendela Solution Eksplorer akan muncul sebuah Module dengan Name : ModConnect seperti di bawah ini :

Page 5: VB.net Dgn Mysql

Kemudian buat String koneksi di bagian dalam module. Berikut penulisan String koneksi

<< String koneksi untuk database MySql >>'Connection string untuk database MySql

Public Conn As String = "Server=localhost;User" & _ "ID=root;password=;database=sc"

Kemudian design Form1.vb seperti gambar di bawah ini :

Setting di properties masing-masing control sebagai berikut ;Text Alamat Pelanggan

Label 4 NameText

Lanel4Telepon

Label 5 NameText

Label 5Cari Nama Pelangggan

Button 1 NameText

Button1Save

Button 2 NameText

Button2Delete

Button 3 NameText

Button3Refresh

Button 4 NameText

Button4Exit

GroupBox1 Name GroupBox1

Page 6: VB.net Dgn Mysql

Listview1 Name Listview1TextBox1 Name TextBox1TextBox2 Name TextBox2TextBox3 Name

MultilineScrollBars

TextBox3TrueBoth

TextBox4 Name TextBox4TextBox5 Name TextBox5

Setelah mendesign Form1.vb Pada Jendela Solution Eksplorer yang ada disebelahkanan Click View Code maka Akan muncul tampilan layer untuk menuliskan kode program.

Ini adalah bagian GeneralDalam membuat program menggunakan database MySql maka terlebih dahulu harus menambahkan MySql.data.dll sebelum anda menambahkan MySql.data.dll pastikan anda sudah memiliki dll-nya berikut cara menambahkannya :Pada menu bar Click Project -> Add Reference

Page 7: VB.net Dgn Mysql

Maka akan muncul tampilan seperti ini :

Kemudian Click tab Browse lalu cari dimana MySql.data.dll kemudian pilih MySql.data.dll lalu Click OK. Setelah selesai menambahkan MySql.data.dll lalu pada bagian paling atas ketik code seperti ini :

Imports MySql.Data.MySqlClient

Pada baagian General, ketikkan code seperti dibawah ini. Berfungsiuntuk mendeklarasikan object MySqlCommand, MySqlDataReader, MySqlConnection.

Dim cmd As MySqlCommandDim Reader As MySqlDataReaderDim con As MySqlConnection

Buat sub procedure isikode untuk membuat kode pelanggan Auto Number seperti berikut ini :

Private Sub isikode() Try

'Buat Auto Number Untuk Kode Dim strTemp As String = "" Dim strValue As String = "" Dim sql As Stringsql = "SELECT * FROM pelanggan ORDER BY Kd_Plg DESC"cmd = New MySqlCommand(sql, con) Reader = cmd.ExecuteReaderIf Reader.Read Then

strTemp = Mid(Reader.Item("Kd_Plg"), 4, 3)Else

TextBox1.Text = "P" & Now.ToString("yy") & "001" Exit Sub

End If

strValue = Val(strTemp) + 1TextBox1.Text = "P" & Now.ToString("yy") & _ Mid("000", 1, 3 - strValue.Length) & strValue tutup()

Catch ex As ExceptionMessageBox.Show(ex.Message)

End Try

Page 8: VB.net Dgn Mysql

End Sub

Buat sub procedure isilistview untuk mengisi data pelanggan ke dalamListview 1 seperti berikut ini :

Private Sub isilistview() Try

cmd = New MySqlCommand("select * from " & _ "pelanggan order by Kd_Plg Asc", con)Reader = cmd.ExecuteReader ListView1.Items.Clear() While Reader.Read

Dim list As New ListViewItem list.Text = Reader.Item(0) list.SubItems.Add(Reader.Item(1)) list.SubItems.Add(Reader.Item(2)) list.SubItems.Add(Reader.Item(3))ListView1.Items.AddRange(New ListViewItem() {list})

End Whiletutup()Catch ex As Exception

MessageBox.Show(ex.Message) End Try

End Sub

Buat event Listview1_DoubleClick untuk mengisi data yang di pilih padaListview ke textbox seperti berikut ini :

Private Sub ListView1_DoubleClick(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles ListView1.DoubleClick

Button1.Text = "EDIT"TextBox1.Text = ListView1.FocusedItem.SubItems(0).Text TextBox2.Text = ListView1.FocusedItem.SubItems(1).Text TextBox3.Text = ListView1.FocusedItem.SubItems(2).Text TextBox4.Text = ListView1.FocusedItem.SubItems(3).Text

End Sub

Buat event TextBox5_TextChanged unduk mencari data pada Listview seperti berikut ini :

Private Sub TextBox5_TextChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles TextBox5.TextChanged

cmd = New OleDbCommand("SELECT * FROM pelanggan WHERE " & _" Nm_Plg LIKE '%" & Trim(TextBox5.Text) & _ "%' ORDER BY Kd_Plg ASC", con)Reader = cmd.ExecuteReader ListView1.Items.Clear() While Reader.Read = True

Dim item As New ListViewItem item.Text = Reader.Item(0) item.SubItems.Add(Reader.Item(1)) item.SubItems.Add(Reader.Item(2)) item.SubItems.Add(Reader.Item(3))ListView1.Items.AddRange(New ListViewItem() {item})

End Whiletutup()

End Sub

Buat sub procedure awal seperti berikut ini :

Private Sub awal() tutup() isikode() isilistview()

End Sub

Page 9: VB.net Dgn Mysql

Buat sub procedure tutup seperti berikut ini:

Private Sub tutup() cmd.Dispose() Reader.Close()

End Sub

Buat event List_Pelanggan_Load seperti berikut ini:

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

Trycon = New MySqlConnection(Conn)con.Open() isikode() isilistview()

Catch ex As ExceptionMessageBox.Show(ex.Message)

End TryEnd Sub

Kembali ke Design Form List Pelanggan Double Click Button Save kemuudian ketikkan kode program berikut ini :

Try

If TextBox1.Text <> "" And TextBox2.Text <> _"" And TextBox3.Text <> "" And TextBox4.Text <> "" Then

If Button1.Text = "SAVE" Then cmd = New MySqlCommand _("insert into pelanggan values('" & _ TextBox1.Text & "','" & TextBox2.Text & _ "','" & TextBox3.Text & "','" & _ TextBox4.Text & "')", con)Dim i As Integer = cmd.ExecuteNonQueryIf i = 1 Then

MessageBox.Show("Insert data succsess", _ "information", MessageBoxButtons.OK, _ MessageBoxIcon.Information)awal() Button3_Click(sender, e)

End IfElse

cmd = New MySqlCommand _("update pelanggan set Nm_Plg='" & _TextBox2.Text & "'," & "Almt_Plg='" & _ TextBox3.Text & "'," & "Telp_Plg='" & _ TextBox4.Text & "'" & "where Kd_Plg='" & _ TextBox1.Text & "'", con)

Dim i As Integer = cmd.ExecuteNonQueryIf i = 1 Then

MessageBox.Show("Update data succsess", _ "information", MessageBoxButtons.OK, _ MessageBoxIcon.Information)awal() Button3_Click(sender, e)

End IfEnd If

ElseMessageBox.Show("Data belum lengkap", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Information)

End IfCatch ex As Exception

MessageBox.Show(ex.Message, "Error", _ MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try

Page 10: VB.net Dgn Mysql

Kembali ke Design Form List Pelanggan Double Click Button Delete kemuudian ketikkan kode program berikut ini :

TryIf TextBox1.Text <> "" And TextBox2.Text <> _"" And TextBox3.Text <> "" And TextBox4.Text <> "" Then

If MessageBox.Show("Apakah anda ingin menghapus" & _ vbCrLf & " data Pelanggan " & TextBox1.Text, _ "Question", MessageBoxButtons.YesNo, _ MessageBoxIcon.Question) _= Windows.Forms.DialogResult.Yes Then cmd =

New MySqlCommand _("DELETE FROM pelanggan WHERE Kd_Plg='" & _ TextBox1.Text & "'", con)Dim x As Integer = cmd.ExecuteNonQueryIf x = 1 Then

MessageBox.Show("DATA BERHASIL DIHAPUS", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Information) Button3_Click(sender, e)TextBox2.Focus() ElseMessageBox.Show("GAGAL HAPUS DATA", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Information)

End IfEnd If

ElseMessageBox.Show("Data belum lengkap", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Information)

End If Button3_Click(sender, e) TextBox2.Focus()

Catch ex As ExceptionMessageBox.Show(ex.Message)

End Try

Kembali ke Design Form List Pelanggan Double Click Button Refreshkemuudian ketikkan kode program berikut ini :

Button1.Text = "SAVE" TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" awal()

Kembali ke Design Form List Pelanggan Double Click Button Exit kemuudian ketikkan kode program berikut ini :

Me.Dispose()

Setelah selesai melakukan hal yang di perintahkan di atas setelah itu anda coba jalankan program yang sudah anda buat caranya tekan tombol F5 di keyboard

Tambahkan sebuah form dengan nama Data Barang lalu design seperti gambar dibawah ini :

Page 11: VB.net Dgn Mysql

Form/Control Propeties Setting

Form Name

Size

StartPosition

Data_Barang

888; 471

CenterSecreen

Label 1 Name

Text

lblNama

Nama

TextBox1 Name txtCriNama

Listview1 Name ListDataBarang

Colums :

Members Properties

Columnheader1 Text = Kode

Columnheader2 Text =Nama Barang

Columnheader3 Text = Harga Satuan

Columnheader4 Text = Stock

Columnheader5 Text = Satuan

FullRowSelect True

Gridlines True

View Details

Setelah Design Form selesai ketikkan kode program berikut ini :

Page 12: VB.net Dgn Mysql

Diatas Public Class ketikkan kode berikut ini

Imports MySql.Data.MySqlClient

Didalam Public Class ketikkan kode berikut ini

Public kdbrg, nmbrg, satuan, harga, stock As String

Dim cmd As MySqlCommand

Dim Reader As MySqlDataReader

Dim con As New MySqlConnection(Conn)

Private Sub IsiListView()

Try

cmd = New MySqlCommand _

("select * from barang order by Kd_Brg Asc", con)

ListBarang()

tutup()

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Private Sub Data_Barang_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load

con.Open()

IsiListView()

End Sub

Private Sub ListDataBarang_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles ListDataBarang.Click

Try

kdbrg = ListDataBarang.FocusedItem.SubItems.Item(0).Text

nmbrg = ListDataBarang.FocusedItem.SubItems.Item(1).Text

harga = ListDataBarang.FocusedItem.SubItems.Item(2).Text

Page 13: VB.net Dgn Mysql

stock = ListDataBarang.FocusedItem.SubItems.Item(3).Text

satuan = ListDataBarang.FocusedItem.SubItems.Item(4).Text

Me.Dispose()

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Private Sub tutup()

cmd.Dispose()

Reader.Close()

End Sub

Private Sub txtCriNama_TextChanged(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles txtCriNama.TextChanged

Try

cmd = New MySqlCommand("SELECT * FROM barang WHERE " & _

" Nm_Brg LIKE '%" & Trim(txtCriNama.Text) & _

"%' ORDER BY Kd_Brg ASC", con)

ListBarang()

tutup()

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Private Sub ListBarang()

Reader = cmd.ExecuteReader

ListDataBarang.Items.Clear()

While Reader.Read

Dim list As New ListViewItem

list.ImageIndex = 0

list.Text = Reader.Item(0)

Page 14: VB.net Dgn Mysql

list.SubItems.Add(Reader.Item(1))

list.SubItems.Add(Format(CDbl(Reader.Item(2)), _

"###,###,###,###"))

list.SubItems.Add(Reader.Item(3))

list.SubItems.Add(Reader.Item(4))

ListDataBarang.Items.AddRange(New ListViewItem() {list})

End While

End Sub

Form/Control Propeties Setting

Form Name

Size

StartPosition

Data_Pelanggan

888; 471

CenterSecreen

Label 1 Name

Text

lblNama

Nama

TextBox1 Name txtNama

Listview1 Name ListDataPelanggan

Colums :

Members Properties

Columnheader1 Text = Kode

Columnheader2 Text =Nama Pelanggan

Columnheader3 Text = Alamat Pelanggan

Columnheader4 Text = Telepon

Page 15: VB.net Dgn Mysql

FullRowSelect True

Gridlines True

View Details

Diatas Public Class ketikkan kode berikut ini

Imports MySql.Data.MySqlClient

Didalam Public Class ketikkan kode berikut ini

Public kdplg, nmplg, almtplg, telp As String

Dim cmd As MySqlCommand

Dim Reader As MySqlDataReader

Dim con As New MySqlConnection(Conn)

Private Sub IsiListView()

Try

cmd = New MySqlCommand("select * from " & _

"pelanggan order by Kd_Plg Asc", con)

listPelanggan()

tutup()

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Private Sub tutup()

cmd.Dispose()

Reader.Close()

End Sub

Private Sub Data_Pelanggan_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load

con.Open()

Page 16: VB.net Dgn Mysql

IsiListView()

End Sub

Private Sub ListDataPelanggan_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles ListDataPelanggan.Click

Try

kdplg = ListDataPelanggan.FocusedItem.SubItems.Item(0).Text

nmplg = ListDataPelanggan.FocusedItem.SubItems.Item(1).Text

almtplg = ListDataPelanggan.FocusedItem.SubItems.Item(2).Text

telp = ListDataPelanggan.FocusedItem.SubItems.Item(3).Text

Me.Dispose()

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Private Sub txtNama_TextChanged(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles txtNama.TextChanged

Try

cmd = New MySqlCommand _

("SELECT * FROM pelanggan WHERE " & _

" Nm_Plg LIKE '%" & Trim(txtNama.Text) & _

"%' ORDER BY Kd_Plg ASC", con)

listPelanggan()

tutup()

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Private Sub listPelanggan()

Reader = cmd.ExecuteReader

Page 17: VB.net Dgn Mysql

ListDataPelanggan.Items.Clear()

While Reader.Read

Dim list As New ListViewItem

list.ImageIndex = 0

list.Text = Reader.Item(0)

list.SubItems.Add(Reader.Item(1))

list.SubItems.Add(Reader.Item(2))

list.SubItems.Add(Reader.Item(3))

ListDataPelanggan.Items.AddRange(New ListViewItem() {list})

End While

End Sub

Tambahkan sebuah form dengan nama EntryNota lalu design seperti gambar dibawah ini :

Form/Control Propeties Setting

Form Name

Size

StartPosition

EntryNota

888; 471

CenterSecreen

Label 1 Name lblNoNota

Page 18: VB.net Dgn Mysql

Text

Kode Barang

Label 2 Name

Text

lblTglNota

Tanggal Nota

Label 3 Name

Text

lblKdPlg

Kode

Label 4 Name

Text

lblNmPlg

Nama

Label 5 Name

Text

lblAlmtPlg

Alamat

Label 6 Name

Text

lblTelp

Telepon

Label 7 Name

Text

lblKdBrg

Kode

Label 8 Name

Text

lblNmBrg

Nama

Label 9 Name

Text

lblSatuan

Satuan

Label 10 Name

Text

lbHrg

Harga

Label 11 Name

Text

lblStock

Stock

Label 12 Name

Text

lblJml

Jumlah

Label13 Name

Text

lblTotal

Total

GroupBox1 Name

Text

GrbNota

[ Entry Data Nota ]

GroupBox2 Name GrbPlg

Page 19: VB.net Dgn Mysql

Text Data Pelanggan

TextBox1 Name txtNoNota

TextBox2 Name txtKdPlg

TextBox3 Name txtNmPlg

TextBox4 Name txtAlmtPlg

TextBox5 Name txtTelp

TextBox6 Name txtKdBrg

TextBox7 Name txtNmBrg

TextBox8 Name txtSatuan

TextBox9 Name txtHrg

TextBox10 Name txtStock

TextBox11 Name txtJml

TextBox12 Name txtTotal

DateTimePicker1 Name dtNota

GroupBox3 Name

Text

GrbBrg

Data Barang

TextBox5 Name txtCari

Listview1 Name ListNota

Colums :

Members Properties

Columnheader1 Text = Kode

Columnheader2 Text =Nama Barang

Columnheader3 Text = Satuan

Columnheader4 Text = Jumlah

Columnheader5 Text = Harga Satuan

Columnheader6 Text = Total

FullRowSelect True

Gridlines True

Page 20: VB.net Dgn Mysql

View Details

Button 1 Name

Text

btnSave_Edit

SAVE

Button 2 Name

Text

btnADD

ADD

Button 3 Name

Text

btnCancel

CANCEL

Button 4 Name

Text

btnExit

Exit

Setelah Design Form selesai ketikkan kode program berikut ini :

Diatas Public Class ketikkan kode berikut ini

Imports MySql.Data.MySqlClient

Didalam Public Class ketikkan kode berikut ini

Dim con As New MySqlConnection(Conn)

Dim cmd, cmd1 As MySqlCommand

Dim Reader As MySqlDataReader

Buat sub prosedur isi kode

Private Sub IsiKode()

Try

'Buat Auto Number Untuk Kode

Dim strTemp As String = ""

Dim strValue As String = ""

Dim sql As String

Page 21: VB.net Dgn Mysql

sql = "SELECT * FROM " & _

"nota ORDER BY No_Nota DESC"

cmd = New MySqlCommand(sql, con)

Reader = cmd.ExecuteReader

If Reader.Read Then

strTemp = Mid(Reader.Item("No_Nota") _

, 4, 3)

Else

txtNoNota.Text = "N" & _

Now.ToString("yy") & "001"

tutup()

Exit Sub

End If

strValue = Val(strTemp) + 1

txtNoNota.Text = "N" & Now.ToString("yy") & _

Mid("000", 1, 3 - strValue.Length) & strValue

tutup()

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Buat event EntryNota_Load

Private Sub EntryNota_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load

con.Open()

IsiKode()

End Sub

Kembali ke Design Form EntryNota Double Click btnCariPlg lalu ketikkan program berikut ini

Try

Page 22: VB.net Dgn Mysql

Dim pelanggan As New Data_Pelanggan

pelanggan.ShowDialog()

txtKdPlg.Text = pelanggan.kdplg

txtNmPlg.Text = pelanggan.nmplg

txtAlmtPlg.Text = pelanggan.almtplg

txtTelp.Text = pelanggan.telp

txtKdBrg.Focus()

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

Kembali ke Design Form EntryNota Double Click btnCariBrg lalu ketikkan program berikut ini

Try

Dim barang As New Data_Barang

barang.ShowDialog()

txtKdBrg.Text = barang.kdbrg

txtNmBrg.Text = barang.nmbrg

txtSatuan.Text = barang.satuan

txtHrg.Text = barang.harga

txtStock.Text = barang.stock

txtJml.Focus()

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

Kembali ke Design Form EntryNota Double Click btnADD lalu ketikkan program berikut ini

Try

Dim i As Integer

If txtKdBrg.Text <> "" And txtJml.Text <> "" _

Page 23: VB.net Dgn Mysql

And txtTotal.Text <> "" Then

If ListNota.Items.Count <> 0 Then

For i = 0 To ListNota.Items.Count - 1

If ListNota.Items(i).SubItems(0).Text = _

txtKdBrg.Text Then

MessageBox.Show("Data barang sudah ada", _

"Information", MessageBoxButtons.OK, _

MessageBoxIcon.Information)

bersih()

Exit Sub

End If

Next

End If

Dim list As New ListViewItem

list.Text = txtKdBrg.Text

list.SubItems.Add(txtNmBrg.Text)

list.SubItems.Add(txtSatuan.Text)

list.SubItems.Add(txtJml.Text)

list.SubItems.Add(txtHrg.Text)

list.SubItems.Add(txtTotal.Text)

ListNota.Items.AddRange(New ListViewItem() {list})

bersih()

txtKdBrg.Focus()

btnSave.Enabled = True

Else

MessageBox.Show("Data barang belum lengkap", _

"Erorr", MessageBoxButtons.OK, MessageBoxIcon.Error)

txtJml.Focus()

End If

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

Page 24: VB.net Dgn Mysql

Kembali ke Design Form EntryNota Double Click btnSave lalu ketikkan program berikut ini

Try

Dim i As Integer

If txtKdPlg.Text <> "" Then

cmd = New MySqlCommand _

("insert into nota(No_Nota,Tgl_Nota,Kd_Plg)" & _

" values('" & txtNoNota.Text & "','" & _

Format(dtNota.Value, "yyyy-MM-dd") & "','" & _

txtKdPlg.Text & "')", con)

Dim x As Integer = cmd.ExecuteNonQuery()

tutup()

For i = 0 To ListNota.Items.Count - 1

cmd = New MySqlCommand("insert into pesan values('" & _

txtNoNota.Text & "','" & _

ListNota.Items(i).SubItems(0).Text & "','" & _

ListNota.Items(i).SubItems(3).Text & "','" & _

Format(CDbl(ListNota.Items(i).SubItems(4).Text), _

"###.###.###.###") & "')", con)

cmd.ExecuteNonQuery()

cmd1 = New MySqlCommand("update barang set Stock=Stock-'" & _

ListNota.Items(i).SubItems(3).Text & "'" & _

"where Kd_Brg='" & _

ListNota.Items(i).SubItems(0).Text & "'", con)

cmd1.ExecuteNonQuery()

Next

tutup()

If x = 1 Then

MessageBox.Show("Data berhasil disimpan", _

"Information", MessageBoxButtons.OK, _

Page 25: VB.net Dgn Mysql

MessageBoxIcon.Information)

btnCancel.PerformClick()

End If

Else

MessageBox.Show("Data Pelanggan Belum di isi", _

"Information", MessageBoxButtons.OK, _

MessageBoxIcon.Error)

End If

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

Kembali ke Design Form EntryNota Double Click btnCancel lalu ketikkan program berikut ini

txtKdPlg.Text = ""

txtNmPlg.Text = ""

txtAlmtPlg.Text = ""

txtTelp.Text = ""

bersih()

ListNota.Items.Clear()

btnADD.Enabled = False

btnSave.Enabled = False

Kembali ke Design Form EntryNota Double Click btnExit lalu ketikkan program berikut ini

Me.Dispose()

Buat sub prosedure txtJml_KeyPress seperti kode dibawah ini

Private Sub txtJml_KeyPress(ByVal sender As Object, _

ByVal e As System.Windows.Forms.KeyPressEventArgs) _

Handles txtJml.KeyPress

Try

Page 26: VB.net Dgn Mysql

If Asc(e.KeyChar) = 8 Then

Exit Sub

End If

If Not IsNumeric(e.KeyChar) Then

e.Handled = True

End If

If Asc(e.KeyChar) = 13 Then

If txtKdBrg.Text = "" Then

MessageBox.Show("Data barang belum lengkap", _

"Information", MessageBoxButtons.OK, _

MessageBoxIcon.Information)

Exit Sub

End If

If txtJml.Text = "" Then

MessageBox.Show("Jumlah Barang harus diisi", _

"Information", MessageBoxButtons.OK, _

MessageBoxIcon.Information)

Exit Sub

End If

Dim jml As Double

Dim stock, Jumlah As Integer

stock = txtStock.Text

Jumlah = txtJml.Text

If stock < Jumlah Then

MessageBox.Show("Stock tidak cukup", _

"Information", MessageBoxButtons.OK, _

MessageBoxIcon.Information)

txtJml.Focus()

Else

jml = Val(txtHrg.Text * txtJml.Text)

txtTotal.Text = Format(CDbl(jml), _

"###,###,###,###")

Page 27: VB.net Dgn Mysql

btnADD.Enabled = True

btnADD.Focus()

End If

End If

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Buat sub procedure bersih seperti berikut ini

Private Sub bersih()

txtKdBrg.Text = ""

txtNmBrg.Text = ""

txtSatuan.Text = ""

txtHrg.Text = ""

txtJml.Text = ""

txtTotal.Text = ""

txtStock.Text = ""

End Sub