Stored Procedure merupakan rangkaian program yang dapat disimpan dan dipanggil/dieksekusi oleh program lain atau dieksekusi oleh SQL-prompt. Umumnya suatu stored procedure yang dibuat oleh SQL Server berhubungan dengan database server dan menghasilkan sekumpulan record. Stored procedure ditulis dengan sebuah script. Pemakaian stored procedure akan meningkatkan performa database, meningkatkan sekuritas database, dan memungkinkan membuat program untuk database. Performansi ditingkatkan melalui pemakaian memori lokal, program yang telah dikompilasi terlebih dahulu dan pemakaian cache. Alasan lain adalah kebutuhan akan sebuah operasi yang sama sedangkan ada banyak client yang harus mengakses dengan bahasa pemrograman yang berbeda.
Stored procedure yang telah dibuat di server database dapat diakses melalui aplikasi program VB.NET, yaitu dengan membentuk objek command dan mengatur nilai dari CommandType untuk diisi dengan StoredProcedure. Contoh programnya adalah sebagai berikut :
Desain tampilan seperti berikut :

Database yang digunakan adalah database db_supplier dengan tabel tbl_supplier sebagaimana sudah dibuat pada pembahasan sebelumnya.
Untuk membuat stored procedure pada Visual Studio anda buka server explorer. Kemudian pada database yang digunakan klik kanan item Stored Procedures lalu pilih Add New Stored Procedure.

Jangan lupa disimpan dahulu, selama proses penyimpanan .net akan mengecek apakah stored yang kamu tuliskan sudah benar.
Jangan lupa disimpan dahulu.
Simpan stored procedure yang telah kamu buat. Nah sekarang kamu bisa mencoba untuk menjalankan masing-masing stored procedure yang telah kamu buat dengan mengklik kanan stored procedure lalu pilih Execute.
Sekarang kita masuk ke coding vb.net nya. Pertama2 tambahkan dulu directive untuk interaksi ke database sql. Masukkan kode berikut :
Kemudian deklarasikan class variabel sebagai berikut :
Masukkan code untuk koneksi pada event Form Load sebagai berikut :
Buat event click pada tombol entry, update, delete dan exit. Pastikan nilai tag untuk masing-masing tombol adalah entry=1, update=2, delete=3 dan exit = 4. Kodenya adalah sebagai berikut :
Buat Event Click pada tombol OK dan ketikkan kode berikut ini :
Code untuk tombol cancel adalah sebagai berikut :
Stored procedure yang telah dibuat di server database dapat diakses melalui aplikasi program VB.NET, yaitu dengan membentuk objek command dan mengatur nilai dari CommandType untuk diisi dengan StoredProcedure. Contoh programnya adalah sebagai berikut :
Desain tampilan seperti berikut :
Database yang digunakan adalah database db_supplier dengan tabel tbl_supplier sebagaimana sudah dibuat pada pembahasan sebelumnya.
Untuk membuat stored procedure pada Visual Studio anda buka server explorer. Kemudian pada database yang digunakan klik kanan item Stored Procedures lalu pilih Add New Stored Procedure.
Procedure View Data
Procedure ini akan digunakan untuk mengecek apakah data yang akan dientry sudah ada atau belum, kodenya adalah sebagai berikut :
1
2
3
4
5
6
| ALTER PROCEDURE dbo.VIEW_SUP @Kode char( 10 ) AS Select * from tbl_supplier where Kode = @Kode RETURN |
Procedure Entry Data
Berikut ini adalah procedure untuk entry data, masukkan kode berikut pada procedure baru yang akan kamu buat :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| ALTER PROCEDURE dbo.ENTRY_SUP /*variabel local*/ @Kode Char( 10 ), @Nama Varchar( 50 ), @Alamat Varchar( 50 ) AS /*variabel global*/ Declare @salah int /*Menambahkan data*/ Insert Into tbl_supplier Values(@Kode, @Nama, @Alamat) /*nilai yang dikembalikan*/ Set @Salah = @@Error If @Salah= 0 Return( 0 ) Else Return(@Salah) RETURN |
Procedure Update Data
Bentuk stored procedure untuk update data adalah sebagai berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| ALTER PROCEDURE dbo.UPDATE_SUP /*variabel local*/ @Kode Char( 10 ), @Nama Varchar( 50 ), @Alamat Varchar( 50 ) AS Declare @Salah Int UPDATE tbl_supplier Set Nama = @Nama, Alamat = @Alamat Where Kode = @Kode Set @Salah = @@Error If @Salah = 0 Return ( 0 ) Else Return(@Salah) RETURN |
Procedure Delete Data
Stored Procedure delete data adalah sebagai berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| ALTER PROCEDURE dbo.DELETE_SUP @Kode Char( 10 ) AS Declare @Salah Int Delete from tbl_supplier Where Kode = @Kode Set @Salah = @@Error If @Salah = 0 Return ( 0 ) Else Return (@Salah) RETURN |
Sekarang kita masuk ke coding vb.net nya. Pertama2 tambahkan dulu directive untuk interaksi ke database sql. Masukkan kode berikut :
1
| Imports System.Data.SqlClient |
1
| Private xKoneksi As New SqlConnection Private xCommand As New SqlCommand Private xReader As SqlDataReader |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| </ pre > 'koneksi dengan windows autothentication xKoneksi.ConnectionString = _ "Data Source=(Local);" & _ "Initial Catalog=db_supplier;" & _ "Integrated Security = SSPI" 'buka koneksi xKoneksi.Open() 'hubungkan koneksi command xCommand.Connection = xKoneksi < pre > |
Private Sub btn_entry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_entry.Click 'ambil nilai tag tombol sw = sender.tag 'disable semua tombol pada 'groupbox2 For A As Byte = 0 To _ GroupBox2.Controls.Count - 1 GroupBox2.Controls(A).Enabled = False Next sender.enabled = True If sender.tag = 4 Then Me.Close() Else txt_kode.Focus() End If End SubBuat event keypress pada text_kode dan ketikkan kode-kode program berikut ini.
Private Sub txt_kode_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_kode.KeyPress Dim xParam1 As New SqlParameter 'jika dienter If e.KeyChar = Chr(13) Then 'jika text kosong If Trim(txt_kode.Text) = "" Then 'aktifkan tombol For A As Byte = 0 To GroupBox2.Controls.Count - 1 GroupBox2.Controls(A).Enabled = True Next 'panggil subrutin bersih Call bersih() 'hidden groupbox3 GroupBox3.Visible = False 'focus ke btn_exit btn_exit.Focus() Else GroupBox3.Visible = True 'kosongkan dulu objek command xCommand.Parameters.Clear() 'perintah untuk command xCommand.CommandText = "VIEW_SUP" 'command dng mode stored procedure xCommand.CommandType = _ CommandType.StoredProcedure 'parameter yang dikirim melalui objek command xParam1 = xCommand.Parameters.Add("@Kode", SqlDbType.Char, 10) 'direction yg dipakai mode input xParam1.Direction = ParameterDirection.Input 'mengisi parameter yg dikirim xCommand.Parameters("@Kode").Value = txt_kode.Text 'mode eksekusi adalah execute reader 'untuk pembacaaan saja xReader = xCommand.ExecuteReader 'jika data ada If xReader.HasRows Then 'baca data xReader.Read() 'jika mode entry If sw = 1 Then MsgBox("Data sudah ada!") txt_kode.Clear() Else Call tampil() 'jika mode edit If sw = 2 Then txt_nama.Focus() Else 'jika mode delete btn_ok.Focus() End If End If Else 'jika data tidak ada 'mode entry If sw = 1 Then txt_nama.Focus() Else 'mode edit dan hapus MsgBox("Data tidak ada!") txt_kode.Clear() End If End If 'hapus parameter xCommand.Parameters.Remove(xParam1) 'tutup data reader xReader.Close() End If End If End SubKode diatas digunakan untuk mengecek kode ketika txt_kode dienter sesuai dengan tag tombol pada groupbox2 yang dikirim. Dan jika terjadi kesalahan pada saat pemrosesan akan ditampilkan kotak pesan.
Buat Event Click pada tombol OK dan ketikkan kode berikut ini :
Private Sub btn_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_ok.Click 'membuat objek parameter Dim xParam_kode As New SqlParameter Dim xParam_nama As New SqlParameter Dim xParam_alamat As New SqlParameter 'tipe command adalah stored procedure xCommand.CommandType = CommandType.StoredProcedure 'kosongkan dulu parameter command xCommand.Parameters.Clear() 'seleksi untuk taf tombol Select Case sw 'jik tombol entry Case 1 xCommand.CommandText = "ENTRY_SUP" 'jika tombol update Case 2 xCommand.CommandText = "UPDATE_SUP" Case 3 'jika tombol hapus xCommand.CommandText = "DELETE_SUP" End Select 'parameter yang dikirim xParam_kode = xCommand.Parameters.Add("@Kode", SqlDbType.Char, 10) xParam_kode.Direction = ParameterDirection.Input xCommand.Parameters("@Kode").Value = txt_kode.Text 'jika mode edit If sw <= 2 Then xParam_nama = xCommand.Parameters.Add("@Nama", SqlDbType.VarChar, 50) xParam_nama.Direction = ParameterDirection.Input xCommand.Parameters("@Nama").Value = txt_nama.Text xParam_nama = xCommand.Parameters.Add("@Alamat", SqlDbType.VarChar, 50) xParam_nama.Direction = ParameterDirection.Input xCommand.Parameters("@Alamat").Value = txt_alamat.Text 'mode exksekusi untuk maintenance DB xCommand.ExecuteNonQuery() 'hancurkan semua parameter xCommand.Parameters.Remove(xParam_kode) xCommand.Parameters.Remove(xParam_nama) xCommand.Parameters.Remove(xParam_alamat) Else 'jika mode entry dan hapus xCommand.ExecuteNonQuery() 'hancurkan parameter xCommand.Parameters.Remove(xParam_kode) End If Call bersih() End SubKode diatas digunakan untuk memproses database berdasarkan nilai tag yang telah dikirimkan. Pemrosesan dengan menggunakan metode stored procedure dengan mengirimkan parameter sesuai tak yang dikirimkan.
Code untuk tombol cancel adalah sebagai berikut :
Private Sub btn_cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_cancel.Click Call bersih() End Sub Procedure tambahan yang digunakan adalah sebagai berikut : Sub tampil() txt_nama.Text = xReader.Item(1) txt_alamat.Text = xReader.Item(2) End Sub Sub bersih() txt_kode.Clear() txt_nama.Clear() txt_alamat.Clear() End SubSekarang coba kamu jalankan program dan test beberapa tombol yang telah dibuat. Hasilnya kurang lebih adalah sebagai berikut :
No comments:
Post a Comment