vb.net dgn mysql
TRANSCRIPT
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
BAB I
PENDAHULUAN
.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
1
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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.
Contoh Connectionstring
Microsoft Accsess
Public strConn As String = _
“Provider=Microsoft.jet.OLEDB.4.0;Data” _
& “ Source=” & Application.StartupPath & “\penjualan.mdb; “
MySql
Public Conn As String = “Server=localhost;User” & _
“ID=root;password=;database=penjualan”
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 MySqlCommand
cmd = New MySqlCommand(“isi denan perintah SQL”, con)
2
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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 :
ExecuteReader
Digunakan saat kita ingin membaca/mencari data yang ada di
database
ExecuteNonQuery
Digunakan saat kita ingin menyimpan, mengubah, menghapus data
yang ada di database.
Con toh :
Dim cmd As MySqlCommand
cmd = New MySqlCommand(“isi denan perintah SQL”, con
cmd.ExecuteNonQuery
3) Object DataReader
DataReader 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.
Co n to h :
Dim Reader As MySqlDataReader
Reader = cmd.ExecuteReader
Sebelum membuat aplikasi database Visual Basic .NET dengan Database MySql
terlebih dahulu buat databasenya dengan nama SC . Buat table-tabel sebagai
berikut :
3
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
BAB II
PERANCANGAN DATABASE
Ta bl e P el angg an
Field Type File SizeKd_Plg (PK) Varchar 7Nm_Plg Varchar 30Almt_Plg Varchar 50Telp_Plg Varchar 20
Ta bl e B aran g
Field Type File SizeKd_Brg (PK) Varchar 7Nm_Brg Varchar 30Harga Double -Stock Int -Satuan Varchar 10
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
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
4
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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
Seting Database server agar bisa diakses oleh client
Buat user baru pada database mysql
1. Buka browser lalu ketikan http://localhost/phpmyadmin pada adrress bar
2. Masukan user dan password database server, pada komputer saya user=root,
password=root
3. Klik privileges
4. Klik add a new user
5
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
5. Pada pilihan global privileges pilih check all
6. Tambahkan script bind-address=ip server pada file my.cnf
7. Kemudian Restart server anda
Membuat database melalui Phpmyadmin
Buka browser lalu ketikan http://ip server/phpmyadmin pada adrress bar
Masukan user dan password database server, pada komputer saya user=root,
password=root
6
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Setelah berhasil masuk ke database server, kita akan buat sebuah database dengan
nama dbtoko dengan cara mengetikan nama database pada kolom create new database
Kemudian tekan tombol create
Membuat tabel pelanggan
1. Masukan nama tabel pada name
2. Masukan jumlah field pada kolom number of field lalu klik tombol Go
7
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
3. Masukan field-diled sesuai dengan rancangan database diatas
4. Kemudian jadikan field kd_plg sebagai primery key dengan memberikan
chcklist pada option primary
5. Klik tombol save untuk mengakhiri pembuatan tabel pelanggan
8
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Membuat tabel Barang
1. Klik nama database dbtoko yang berada di panel database
2. Masukan nama tabel dan jumlah field pada kolom number of field Lalu klik
tombol Go
3. Masukan field-diled sesuai dengan rancangan database diatas
9
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
4. Kemudian jadikan field kd_brg sebagai primery key dengan memberikan
chcklist pada option primary
5. Klik tombol save untuk mengakhiri pembuatan tabel barang
6. Ulangi langkah yang sama untuk membuat tabel pesan, nota, kwitansi, dan
tanda_terima
10
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
BAB III
PEMBUATAN APLIKASI PENJUALAN
Buka Visual Studio 2008 Caranya : Start =>All Program =>Microsoft Visual
Studio 2008 =>Microsoft Visual Studio 2008. Buat project baru caranya : File
=>New Project =>Pada Project Type pilih Windows => pilih gambar yang
ada tulisan Windows Application =>Isi Name dengan nama Penjualan =>
Click OK.
Maka akan muncul tampilan seperti ini :
Gambar Tampilan Project
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 :
11
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Gambar Halaman Modul
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=ipserver;User" & _
"ID=root;password=root;database=dbtoko"
Kemudian design Form1.vb seperti gambar di bawah ini :
Gambar Form Data Pelanggan
Setting di properties masing-masing control sebagai berikut ;
Text Alamat PelangganLabel 4 Name
Text
Lanel4
TeleponLabel 5 Name
Text
Label 5
Cari Nama Pelangggan12
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Button 1 Name
Text
Button1
SaveButton 2 Name
Text
Button2
DeleteButton 3 Name
Text
Button3
RefreshButton 4 Name
Text
Button4
ExitGroupBox1 Name GroupBox1Listview1 Name Listview1TextBox1 Name TextBox1TextBox2 Name TextBox2TextBox3 Name
Multiline
TextBox3
True
TextBox4 Name TextBox4TextBox5 Name TextBox5
Setelah mendesign Form1.vb Pada Jendela Solution Eksplorer yang ada disebelah
kanan Click View Code maka Akan muncul tampilan layer untuk menuliskan
kode program.
Gambar bagian General
Dalam 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
13
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Gambar Menampilkan Jendela Add Reference
Maka akan muncul tampilan seperti ini :
Gambar Jendela Add Reference
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
14
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Pada baagian General, ketikkan code seperti dibawah ini.
Berfungsi
untuk mendeklarasikan object MySqlCommand,
MySqlDataReader, MySqlConnection.
Dim cmd As MySqlCommand
Dim Reader As MySqlDataReader
Dim 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 String
sql = "SELECT * FROM pelanggan ORDER BY Kd_Plg DESC"
cmd = New MySqlCommand(sql, con) Reader =
cmd.ExecuteReader
If 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) + 1
TextBox1.Text = "P" & Now.ToString("yy") & _ Mid("000", 1, 3 -
strValue.Length) & strValue tutup()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Buat sub procedure isilistview untuk mengisi data pelanggan ke dalam
Listview 1 seperti berikut ini :
15
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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 While
tutup()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Buat event Listview1_DoubleClick untuk mengisi data yang di pilih pada
Listview 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 "
& _
16
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
" 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
While
tutup()
End Sub
Buat sub procedure awal seperti berikut ini :
Private Sub awal()
tutup()
isikode()
isilistview()
End Sub
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
Try
con = New MySqlConnection(Conn)
con.Open() isikode() isilistview()
Catch ex As Exception17
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
MessageBox.Show(ex.Message) End Try
End 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.ExecuteNonQuery
If i = 1 Then
MessageBox.Show("Insert data succsess", _ "information",
MessageBoxButtons.OK, _ MessageBoxIcon.Information)
awal() Button3_Click(sender, e)
End If
Else
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.ExecuteNonQuery
If i = 1 Then
MessageBox.Show("Update data succsess", _ "information",
MessageBoxButtons.OK, _ MessageBoxIcon.Information)
awal() Button3_Click(sender, e)
End If
End If
Else
MessageBox.Show("Data belum lengkap", _
"Information", MessageBoxButtons.OK, _
MessageBoxIcon.Information)18
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", _ MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
Kembali ke Design Form List Pelanggan Double Click Button Delete
kemuudian ketikkan kode program berikut ini :
Try
If 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.ExecuteNonQuery
If x = 1 Then
MessageBox.Show("DATA BERHASIL DIHAPUS", _
"Information", MessageBoxButtons.OK, _
MessageBoxIcon.Information) Button3_Click(sender, e)
TextBox2.Focus() Else
MessageBox.Show("GAGAL HAPUS DATA", _
"Information", MessageBoxButtons.OK, _
MessageBoxIcon.Information)
End If
End If
Else
MessageBox.Show("Data belum lengkap", _ "Information",
MessageBoxButtons.OK, _ MessageBoxIcon.Information)
End If Button3_Click(sender, e) TextBox2.Focus()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
19
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Kembali ke Design Form List Pelanggan Double Click Button Refresh
kemuudian 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 :
Gambar Form PopUp Data Barang
Form/Control Propeties Setting
Form Name
Size
StartPosition
Data_Barang
888; 471
CenterSecreen
Label 1 Name lblNama
20
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Text 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 :
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)
21
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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
stock = ListDataBarang.FocusedItem.SubItems.Item(3).Text
satuan = ListDataBarang.FocusedItem.SubItems.Item(4).Text
22
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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
23
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
ListDataBarang.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(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
Gambar Form PopUp Data Pelanggan
Form/Control Propeties Setting
Form Name
Size
StartPosition
Data_Pelanggan
888; 471
CenterSecreen
Label 1 Name lblNama
24
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Text Nama
TextBox1 Name txtNama
Listview1 Name ListDataPelanggan
Colums :
Members Properties
Columnheader1 Text = Kode
Columnheader2 Text =Nama Pelanggan
Columnheader3 Text = Alamat Pelanggan
Columnheader4 Text = Telepon
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 " & _
25
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
"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()
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()
26
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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
ListDataPelanggan.Items.Clear()
While Reader.Read
Dim list As New ListViewItem
list.ImageIndex = 0
list.Text = Reader.Item(0)
27
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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 :
Gambar Form Penjualan
Form/Control Propeties Setting
Form Name
Size
StartPosition
EntryNota
888; 471
CenterSecreen
Label 1 Name lblNoNota
28
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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 lblTotal29
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Text
Total
GroupBox1 Name
Text
GrbNota
[ Entry Data Nota ]
GroupBox2 Name
Text
GrbPlg
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
30
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
Columnheader1 Text = Kode
Columnheader2 Text =Nama Barang
Columnheader3 Text = Satuan
Columnheader4 Text = Jumlah
Columnheader5 Text = Harga Satuan
Columnheader6 Text = Total
FullRowSelect True
Gridlines True
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
31
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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
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()
32
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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
Dim pelanggan As New Data_Pelanggan
pelanggan.ShowDialog()
txtKdPlg.Text = pelanggan.kdplg
txtNmPlg.Text = pelanggan.nmplg
txtAlmtPlg.Text = pelanggan.almtplg
33
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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 <> "" _
34
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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
35
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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
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 & "','" & _
36
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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, _
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
37
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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
If Asc(e.KeyChar) = 8 Then
Exit Sub
End If
If Not IsNumeric(e.KeyChar) Then
e.Handled = True
End If
38
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
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), _
39
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
"###,###,###,###")
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
40
Ecommerce II
Visual Basic .Net dengan Database MySql
Mukidin, S. Kom, MM
41