Académique Documents
Professionnel Documents
Culture Documents
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. 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
1
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
database
DataAdapter Class DataAdapter digunakan untuk menghubungkan antara database dengan dataset.
connectionstring
mendefinisikan
parameter-
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) Selanjutnya anda harus melakukan eksekusi terhadap object command tersebut agar perintah SQL yang dibawa oleh object command itu dapat
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
dijalankan pada database. Berikut ini beberapa metode yang dapat digunakan untuk menjalankan object command :
ExecuteReader
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 :
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
BAB II PERANCANGAN DATABASE Table Pelanggan Field Kd_Plg (PK) Nm_Plg Almt_Plg Telp_Plg Table Barang Type Varchar Varchar Varchar Varchar File Size 7 30 50 20
File Size 7 30 10
Tabel Pesan Field No_Nota Kd_Brg Jml_Brg Harsat Type Varchar Varchar Int Double File Size 7 7 -
Tabel Nota Field No_Nota Tgl_Nota Kd_Plg Type Varchar Date Varchar File Size 7 7
Tabel TandaTerima Field No_T T Tgl_T T No_Nota Type Varchar Date Varchar File Size 7 7
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
Tabel Kw itansi Field No_Kwt Tgl_Kwt No_T T Type Varchar Date Varchar File Size 7 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
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
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
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
4. Kemudian jadikan field kd_plg sebagai primery key dengan memberikan chcklist pada option primary 5. Klik tombol save untuk mengakhiri pembuatan tabel pelanggan
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
1.
2.
Masukan nama tabel dan jumlah field pada kolom number of field
3.
4.
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
5.
Klik tombol save untuk mengakhiri pembuatan tabel barang Ulangi langkah yang sama untuk membuat tabel pesan, nota, kwitansi,
6.
dan tanda_terima
10
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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 ; Label 4 Label 5 Text Name Text Name Text Alamat Pelanggan Lanel4 Telepon Label 5 Cari Nama Pelangggan
12
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
Button 1 Button 2 Button 3 Button 4 GroupBox1 Listview1 TextBox1 TextBox2 TextBox3 TextBox4 TextBox5
Name Text Name Text Name Text Name Text Name Name Name Name Name Multiline Name Name
Button1 Save Button2 Delete Button3 Refresh Button4 Exit GroupBox1 Listview1 TextBox1 TextBox2 TextBox3 True 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.
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 Berfungsi untuk mendeklarasikan object
dibawah ini.
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 : Private Sub isilistview() Try
15
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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 TextBox2.Text TextBox3.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
16
= = =
TextBox4.Text = ListView1.FocusedItem.SubItems(3).Text
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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 While tutup() End Sub ListViewItem() {item}) End
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
17
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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", End If Catch ex As Exception MessageBox.Show(ex.Message, "Error", _ MessageBoxButtons.OK,
18
MessageBoxButtons.OK,
MessageBoxIcon.Information)
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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, Then WHERE _ cmd "Question", = New & _ MessageBoxButtons.YesNo, _ MessageBoxIcon.Question) _ Windows.Forms.DialogResult.Yes MySqlCommand _ ("DELETE FROM pelanggan Kd_Plg='" TextBox1.Text & "'", con) Dim x As Integer = cmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA "Information", TextBox2.Focus() Else MessageBox.Show("GAGAL "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 MessageBoxIcon.Information) HAPUS DATA", _ _ MessageBoxButtons.OK, BERHASIL DIHAPUS", _ _ MessageBoxButtons.OK,
MessageBoxIcon.Information) Button3_Click(sender, e)
Kembali ke Design Form List Pelanggan Double Click Button Refresh kemuudian ketikkan kode program berikut ini :
19
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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
Label 1
Name Text
TextBox1 Listview1
20
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
Properties Text = Kode Text =Nama Barang Text = Harga Satuan Text = Stock Text = Satuan
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
21
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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
22
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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))
23
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
Gambar Form PopUp Data Pelanggan Form/Control Form Propeties Name Size StartPosition Label 1 Name Text TextBox1 Listview1 Name Name Colums : Members Columnheader1 Columnheader2 Columnheader3 Columnheader4 Properties Text = Kode Text =Nama Pelanggan Text = Alamat Pelanggan Text = Telepon Setting Data_Pelanggan 888; 471 CenterSecreen lblNama Nama txtNama ListDataPelanggan
FullRowSelect Gridlines
True True
24
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
View
Details
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
25
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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()
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 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 :
27
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
Form/Control Form
Setting EntryNota 888; 471 CenterSecreen lblNoNota Kode Barang lblTglNota Tanggal Nota lblKdPlg Kode lblNmPlg Nama lblAlmtPlg Alamat lblTelp Telepon lblKdBrg Kode
28
Label 1
Name Text
Label 2
Name Text
Label 3
Name Text
Label 4
Name Text
Label 5
Name Text
Label 6
Name Text
Label 7
Name Text
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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 ] GrbPlg Data Pelanggan txtNoNota txtKdPlg txtNmPlg txtAlmtPlg txtTelp txtKdBrg txtNmBrg txtSatuan txtHrg txtStock txtJml txtTotal dtNota GrbBrg
29
Label 12
Name Text
Label13
Name Text
GroupBox1
Name Text
GroupBox2
Name Text
TextBox1 TextBox2 TextBox3 TextBox4 TextBox5 TextBox6 TextBox7 TextBox8 TextBox9 TextBox10 TextBox11 TextBox12
Name Name Name Name Name Name Name Name Name Name Name Name
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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
Button 2
Name Text
Button 3
Name Text
Button 4
Name Text
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() Exit Sub
31
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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()
32
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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
33
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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
34
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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-'" & _
35
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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 = ""
36
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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
37
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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)
38
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
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
39
Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM
40