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 | ALTER PROCEDURE dbo.VIEW_SUP |
2 | @Kode char (10) |
3 | AS |
4 | Select * from tbl_supplier |
5 | where Kode = @Kode |
6 | RETURN |
Procedure Entry Data
Berikut ini adalah procedure untuk entry data, masukkan kode berikut pada procedure baru yang akan kamu buat :01 | ALTER PROCEDURE dbo.ENTRY_SUP |
02 | /*variabel local */ |
03 | @Kode Char (10), |
04 | @Nama Varchar (50), |
05 | @Alamat Varchar (50) |
06 | AS |
07 | /*variabel global */ |
08 | Declare @salah int |
09 |
10 | /*Menambahkan data*/ |
11 | Insert Into tbl_supplier |
12 | Values (@Kode, @Nama, @Alamat) |
13 |
14 | /*nilai yang dikembalikan*/ |
15 | Set @Salah = @@Error |
16 | If @Salah=0 |
17 | Return (0) |
18 | Else |
19 | Return (@Salah) |
20 |
21 | RETURN |
Procedure Update Data
Bentuk stored procedure untuk update data adalah sebagai berikut :01 | ALTER PROCEDURE dbo.UPDATE_SUP |
02 | /*variabel local */ |
03 | @Kode Char (10), |
04 | @Nama Varchar (50), |
05 | @Alamat Varchar (50) |
06 | AS |
07 | Declare @Salah Int |
08 | UPDATE tbl_supplier |
09 | Set |
10 | Nama = @Nama, |
11 | Alamat = @Alamat |
12 | Where |
13 | Kode = @Kode |
14 |
15 | Set @Salah = @@Error |
16 | If @Salah = 0 |
17 | Return (0) |
18 | Else |
19 | Return (@Salah) |
20 |
21 | RETURN |
Procedure Delete Data
Stored Procedure delete data adalah sebagai berikut :[courcecode language='sql']
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
[/sourcecode]
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 :
Imports System.Data.SqlClient
Kemudian deklarasikan class variabel sebagai berikut :
Private xKoneksi As New SqlConnection
Private xCommand As New SqlCommand
Private xReader As SqlDataReader
Masukkan code untuk koneksi pada event Form Load sebagai berikut :
‘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
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 :
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 Sub
Buat 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 Sub
Kode 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 Sub
Kode 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 Sub
Sekarang coba kamu jalankan program dan test beberapa tombol yang telah dibuat. Hasilnya kurang lebih adalah sebagai berikut :
Jangan lupa setelah kamu memasukkan kode kamu enter dulu untuk mengecek apakah terjadi duplikat atas data yang dimasukkan.
Tidak ada komentar:
Posting Komentar