Anda di halaman 1dari 27

.

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. Contoh :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. Contoh : Imports System.Data.OleDb ODBC .NET Data Provider Provider ini dipakai untuk database yang hanya mempunyai driver ODBC Contoh: 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.

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=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 MySqlCommand cmd = 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 :  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. Contoh:
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.

Contoh:
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 :

Table Pelanggan

Field Kd_Plg (PK) Nm_Plg Almt_Plg Telp_Plg Table Barang Field Kd_Brg (PK) Nm_Brg Harga Stock Satuan Tabel Pesan Field No_Nota Kd_Brg Jml_Brg Harsat Tabel Nota Field No_Nota Tgl_Nota Kd_Plg

Type Varchar Varchar Varchar Varchar

File Size 7 3 5 0 0 2 0

Type Varchar Varchar Double int Varchar

File Size 7 3 0 1 0

Type Varchar Varchar int Double

File Size 7 7 -

Type Varchar date Varchar

File Size 7 7

Tabel TandaTerima

Field No_T T Tgl_T T No_Nota Tabel Kwitansi

Type Varchar date Varchar

File Size 7 7

Field No_Kwt Tgl_Kwt No_T T

Type Varchar date Varchar

File Size 7 7

Buka Visual Studio 2005 Caranya : Start =>All Program =>Microsoft Visual Studio 2005 =>Microsoft Visual Studio 2005. 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 :

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 :

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 Name Lanel4 Text Telepon Label 5 Name Label 5 Text Cari Nama Pelangggan Button 1 Name Button1 Text Save Button 2 Name Button2 Text Delete Button 3 Name Button3 Text Refresh Button 4 Name Button4 Text Exit GroupBox1 Name GroupBox1 Listview1 Name Listview1

TextBox1 TextBox2 TextBox3

TextBox4 TextBox5

Name Name Name Multiline ScrollBars Name Name

TextBox1 TextBox2 TextBox3 True Both TextBox4 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.

Ini adalah 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

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. Berfungsi MySqlCommand, MySqlDataReader, untuk mendeklarasikan object 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 : 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 " & _ " 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 Exception 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) 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 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 :

Form/Control Form Name Size StartPosition Label 1 Name Text TextBox1 Listview1 Name Name Colums :

Propeties

Setting Data_Barang 888; 471 CenterSecreen lblNama Nama txtCriNama ListDataBarang

Members Columnheader1 Columnheader2 Columnheader3 Columnheader4 Columnheader5

Properties Text = Kode Text =Nama Barang Text = Harga Satuan Text = Stock Text = Satuan

FullRowSelect Gridlines View

True True 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 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 As String

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.Fo cusedItem.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 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)

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 Form Name Size StartPosition Label 1 Name Text TextBox1 Listview1 Name Name Colums :

Propeties

Setting Data_Pelanggan 888; 471 CenterSecreen lblNama Nama txtNama ListDataPelanggan

Members Columnheader1 Columnheader2 Columnheader3

Properties Text = Kode Text =Nama Pelanggan Text = Alamat Pelanggan

Columnheader4

Text = Telepon

FullRowSelect Gridlines View

True True 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()

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 = ListDataPel anggan.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.EventAr gs) 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) 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 Form Name Size StartPosition

Propeties EntryNota 888; 471

Setting

CenterSecreen

Label 1

Name Text

lblNoNota Kode Barang lblTglNota Tanggal Nota lblKdPlg Kode lblNmPlg Nama lblAlmtPlg Alamat lblTelp Telepon lblKdBrg Kode lblNmBrg Nama lblSatuan Satuan lbHrg Harga

Label 2

Name Text

Label 3

Name Text

Label 4

Name Text

Label 5

Name Text

Label 6

Name Text

Label 7

Name Text

Label 8

Name Text

Label 9

Name Text

Label 10

Name Text

Label 11

Name Text

lblStock Stock lblJml Jumlah lblTotal Total GrbNota [ Entry Data Nota ]

Label 12

Name Text

Label13

Name Text

GroupBox1

Name Text

GroupBox2

Name Text

GrbPlg Data Pelanggan txtNoNota txtKdPlg txtNmPlg txtAlmtPlg txtTelp txtKdBrg txtNmBrg txtSatuan txtHrg txtStock txtJml txtTotal dtNota GrbBrg Data Barang txtCari ListNota

TextBox1 TextBox2 TextBox3 TextBox4 TextBox5 TextBox6 TextBox7 TextBox8 TextBox9 TextBox10 TextBox11 TextBox12 DateTimePicker1 GroupBox3

Name Name Name Name Name Name Name Name Name Name Name Name Name Name Text

TextBox5 Listview1

Name Name Colums : Members Columnheader1 Columnheader2 Columnheader3 Columnheader4 Columnheader5 Columnheader6

Properties Text = Kode Text =Nama Barang Text = Satuan Text = Jumlah Text = Harga Satuan Text = Total

FullRowSelect

True

Gridlines View Button 1 Name Text

True Details btnSave_Edit SAVE

Button 2

Name Text

btnADD ADD btnCancel CANCEL btnExit Exit

Button 3

Name Text

Button 4

Name Text

Setelah Design Form selesai ketikkan kode program berikut ini :

Diatas Public Class ketikkan kode berikut ini


Imports MySql.Data.MySqlClie nt

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() 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 program berikut ini

btnCariPlg lalu ketikkan

Try 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 Cli ck 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 program berikut ini Try Dim i As Integer

btnADD lalu ketikkan

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

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" , Message BoxButtons.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

Kembali ke Design Form En tryNota 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 & cmd1.ExecuteNonQuery() Next tutup() If x = 1 Then MessageBox.Show( "Data berhasil disimpan" , _ "Information" , MessageBoxButtons.OK, _ "'", con) "'" & _

MessageBoxIcon.Information) btnCancel.Perfor mClick() 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 program berikut ini txtKdPlg.Text = "" txtNmPlg.Text = "" txtAlmtPlg.Text = "" txtTelp.Text = "" bersih() ListNota.Items.Clear() btnADD.Enabled = False btnSave.Enabled = False

btnCancel lalu ketikkan

Kembali ke Design Form EntryNota Double Click program berikut ini Me.Dispose()

btnExit lalu ketikkan

Buat sub prosedure txtJml_KeyPress sepe rti 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 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.Inform ation) txtJml.Focus() Else jml = Val(txtHrg.Text * txtJml.Text) txtTotal.Text = Format( CDbl(jml), _ "###,###,###,###" ) 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