Upload
mukidin
View
1.647
Download
3
Embed Size (px)
Citation preview
.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.
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.
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
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 :
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
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
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
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
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
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 :
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 :
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
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 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
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()
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
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
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
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
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
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
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 <> "" _
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
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, _
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
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), _
"###,###,###,###")
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