VB.net Dgn Mysql

51
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 1

Transcript of VB.net Dgn Mysql

Page 1: VB.net Dgn Mysql

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

Page 2: VB.net Dgn Mysql

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

Page 3: VB.net Dgn Mysql

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

Page 4: VB.net Dgn Mysql

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

Page 5: VB.net Dgn Mysql

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

Page 6: VB.net Dgn Mysql

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

Page 7: VB.net Dgn Mysql

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

Page 8: VB.net Dgn Mysql

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

Page 9: VB.net Dgn Mysql

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

Page 10: VB.net Dgn Mysql

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

Page 11: VB.net Dgn Mysql

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

Page 12: VB.net Dgn Mysql

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

Page 13: VB.net Dgn Mysql

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

Page 14: VB.net Dgn Mysql

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

Page 15: VB.net Dgn Mysql

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

Page 16: VB.net Dgn Mysql

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

Page 17: VB.net Dgn Mysql

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

Page 18: VB.net Dgn Mysql

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

Page 19: VB.net Dgn Mysql

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

Page 20: VB.net Dgn Mysql

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

Page 21: VB.net Dgn Mysql

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

Page 22: VB.net Dgn Mysql

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

Page 23: VB.net Dgn Mysql

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

Page 24: VB.net Dgn Mysql

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

Page 25: VB.net Dgn Mysql

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

Page 26: VB.net Dgn Mysql

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

Page 27: VB.net Dgn Mysql

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

Page 28: VB.net Dgn Mysql

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

Page 29: VB.net Dgn Mysql

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

Page 30: VB.net Dgn Mysql

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

Page 31: VB.net Dgn Mysql

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

Page 32: VB.net Dgn Mysql

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

Page 33: VB.net Dgn Mysql

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

Page 34: VB.net Dgn Mysql

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

Page 35: VB.net Dgn Mysql

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

Page 36: VB.net Dgn Mysql

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

Page 37: VB.net Dgn Mysql

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

Page 38: VB.net Dgn Mysql

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

Page 39: VB.net Dgn Mysql

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

Page 40: VB.net Dgn Mysql

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

Page 41: VB.net Dgn Mysql

Ecommerce II

Visual Basic .Net dengan Database MySql

Mukidin, S. Kom, MM

41