IMPLEMENTASI STORED PROCEDURE DENGAN
VB.NET 2008 DAN SQL SERVER 2005
Hai, sobat bloger semua….!!!
Pada kesempatan ini saya akan
membahas cara menggunakan stored procedure di vb.net 2008.
Sebelumnya sobat-sobat tau gak stored procedure itu apa…???
OK,
kalau belum tau, jadi Stored procedure merupakan sekumpulan
perintah-perintah SQL yang tersimpan dengan nama tertentu dan diproses sebagai
sebuah kesatuan. Bisa dikatakan sebuah sub program yang tersimpan didalam
database. Stored procedure dapat melakukan:
a. Menerima parameter sebagai input dan mengembalikan nilai-nilai
dalam bentuk
parameter output kepada
yang memanggilnya.
b. Mengandung perintah-perintah program yang melakukan operasi di
dalam database,
termasuk memanggil
prosedur lainnya.
c. Mengembalikan suatu nilai status pada pemanggilnya untuk
mengindikasikan berhasil
atau gagalnya prosedur.
Langsung aja ke
pokok pembahasan, pertama-tama hal yang harus anda lakukan adalah membuat
database, disini saya membuat database dengan nama db_siswa untuk lebih
jelasnya bisa dilihat dibawah ini :
--UNTUK MEMBUAT DATABASE
CREATE DATABASE DB_SISWA
--UNTUK MEMBUAT TABEL
CREATE TABLE TB_SISWA (
NIS INT PRIMARY KEY,
NAMA VARCHAR(50),
ALAMAT VARCHAR(100),
GENDER VARCHAR(20),
TGL_LAHIR
VARCHAR(30)
)
|
Setelah membuat
database dan tabel, langkah selanjutnya adalah membuat stored procedure, disini
saya membuat 3 stored procedure yaitu untuk menambah, mengupdate, dan menghapus
data untuk lebih jelasnya bisa dilihat dibawah ini :
--STORED PROCEDURE INSERT
USE db_siswa
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[tambah_siswa]--ini nama
stored procedure-nya
(@nis Varchar(30), @nama Varchar(30), @alamat Varchar(30), @gender Varchar(30), @tgl_lahir Varchar(30))
AS
BEGIN
INSERT INTO tb_siswa VALUES (@nis, @nama, @alamat, @gender,
@tgl_lahir)
END;
|
--STORED PROCEDURE UPDATE
USE db_siswa
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[update_data_siswa]--ini
nama stored procedure-nya
(@nis Varchar(30), @nama Varchar(30), @alamat Varchar(30), @gender Varchar(30), @tgl_lahir Varchar(30))
AS
BEGIN
UPDATE tb_siswa SET nama=@nama, alamat=@alamat, gender=@gender, tgl_lahir=@tgl_lahir WHERE
nis=@nis
END;
|
--STORED PROCEDURE DELETE
USE db_siswa
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[hapus_data_siswa]--ini
nama stored procedure-nya
(@nis Varchar(30))
AS
BEGIN
DELETE FROM tb_siswa WHERE nis=@nis
END;
|
Ok, kalau sudah
sekarang Vb.Net nya, buat projek baru nama projeknya terserah, setelah itu
desain form seperti gambar berikut :
Komponen-komponen dari form tersebut adalah : 5 Label, 3 TextBox, RichTextBox, ComboBox, Button, dan
ListView, kalau sudah tambahkan Module didalam projek dengan cara klik menu
Project dan pilih Add Module nama
modulenya terserah, setelah itu tambahkan kode dibawah ini didalam modulenya :
Imports System.Data.SqlClient
Module Module1
Public
koneksi As SqlConnection = Nothing
Public Sub konek_db()
Dim
server As String
server = "server=W-UNLIMITED-PC\SQLEXPRESS;Initial
Catalog=db_siswa;Integrated Security=True"
'Untuk
server=W-UNLIMITED-PC\SQLEXPRESS sesuaikan dengan nama server di Sql Server
di komputer anda
koneksi = New
SqlConnection(server)
koneksi.Open()
End Sub
End Module
|
Kalau sudah, double klik form yang
sudah di buat tadi, dan masukkan code berikut diluar code untuk formnya / bisa
dibagian paling atas di bawah Public Class Form1
Sub tampil()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
RichTextBox1.Clear()
ComboBox1.Text = "--- Pilih Gender ---"
TextBox1.Focus()
ListView1.Items.Clear()
konek_db()
Dim
data As New
SqlClient.SqlCommand("Select * From
tb_siswa")
Dim
reader As SqlClient.SqlDataReader
data.Connection = koneksi
reader = data.ExecuteReader
Dim i
As Integer =
0
Do While reader.Read
ListView1.Items.Add(reader("nis"))
ListView1.Items(i).SubItems.Add(reader("nama"))
ListView1.Items(i).SubItems.Add(reader("alamat"))
ListView1.Items(i).SubItems.Add(reader("gender"))
ListView1.Items(i).SubItems.Add(reader("tgl_lahir"))
i = i + 1
Loop
End Sub
|
Double klik
formnya lagi dan masukkan code :
tampil()
kemudian double
klik button simpan dan masukkan code berikut :
konek_db()
Dim sql_simpan As
SqlClient.SqlTransaction = koneksi.BeginTransaction
Dim
cr_command As SqlClient.SqlCommand =
koneksi.CreateCommand
Try
With
cr_command
.CommandText = "tambah_siswa" 'ini untuk memanggil nama stored procedure yang ada didalam sql server
.CommandType =
CommandType.StoredProcedure
.Connection = koneksi
.Transaction = sql_simpan
.Parameters.Add("@nis", SqlDbType.VarChar, 30).Value =
TextBox1.Text
.Parameters.Add("@nama", SqlDbType.VarChar, 50).Value
= TextBox2.Text
.Parameters.Add("@alamat", SqlDbType.VarChar,
50).Value = RichTextBox1.Text
.Parameters.Add("@gender", SqlDbType.Char, 30).Value =
ComboBox1.Text
.Parameters.Add("@tgl_lahir", SqlDbType.VarChar,
20).Value = TextBox3.Text
.ExecuteNonQuery()
End
With
sql_simpan.Commit()
MsgBox("Data
Berhasil di Simpan")
tampil()
Catch
ex As Exception
MsgBox("Failed",
MsgBoxStyle.Critical, "Errors")
End Try
|
Lakukan cara
yang sama pada button Update dan masukkan code berikut :
konek_db()
Dim sql_simpan As
SqlClient.SqlTransaction = koneksi.BeginTransaction
Dim
cr_command As SqlClient.SqlCommand =
koneksi.CreateCommand
Try
With
cr_command
.CommandText = "update_data_siswa"
.CommandType =
CommandType.StoredProcedure
.Connection = koneksi
.Transaction = sql_simpan
.Parameters.Add("@nis", SqlDbType.VarChar, 30).Value =
TextBox1.Text
.Parameters.Add("@nama", SqlDbType.VarChar, 50).Value
= TextBox2.Text
.Parameters.Add("@alamat", SqlDbType.VarChar,
50).Value = RichTextBox1.Text
.Parameters.Add("@gender", SqlDbType.Char, 30).Value =
ComboBox1.Text
.Parameters.Add("@tgl_lahir", SqlDbType.VarChar,
20).Value = TextBox3.Text
.ExecuteNonQuery()
End
With
sql_simpan.Commit()
MsgBox("Data
Berhasil di Update")
tampil()
Catch
ex As Exception
MsgBox("Failed",
MsgBoxStyle.Critical, "Errors")
End Try
|
Dan tambahkan
code berikut didalam button Hapus
If TextBox1.Text = ""
Then
MsgBox("Pilih
Data Dulu", MsgBoxStyle.Critical, "Attention")
Else
konek_db()
Dim
sql_simpan As SqlClient.SqlTransaction =
koneksi.BeginTransaction
Dim
cr_command As SqlClient.SqlCommand =
koneksi.CreateCommand
Dim
hapus As Int16
Try
With
cr_command
hapus = MsgBox("Benar record ini akan dihapus " &
TextBox1.Text & "?",
MsgBoxStyle.OkCancel, "Delete record")
Select
Case hapus
Case vbCancel
Exit
Sub
Case vbOK
.CommandText = "hapus_data_siswa"
.CommandType =
CommandType.StoredProcedure
.Connection =
koneksi
.Transaction = sql_simpan
.Parameters.Add("@nis", SqlDbType.VarChar, 30).Value =
TextBox1.Text
.ExecuteNonQuery()
End
Select
End
With
sql_simpan.Commit()
MsgBox("Data Berhasil di Hapus")
tampil()
Catch
ex As Exception
MsgBox("Failed", MsgBoxStyle.Critical, "Errors")
Finally
sql_simpan.Dispose()
cr_command.Dispose()
koneksi.Close()
End
Try
End If
End Sub
|
|
Jika sudah klik listview sekalu aja,
dan klik tanda di bagian
properties dan pilih MouseClick seperti pada gambar berikut :

Dan masukkan code
berikut kedalam event MouseClick :
TextBox1.Text =
ListView1.SelectedItems(0).SubItems(0).Text
TextBox2.Text =
ListView1.SelectedItems(0).SubItems(1).Text
RichTextBox1.Text =
ListView1.SelectedItems(0).SubItems(2).Text
ComboBox1.Text =
ListView1.SelectedItems(0).SubItems(3).Text
TextBox3.Text =
ListView1.SelectedItems(0).SubItems(4).Text
|
Dan akhirnya selesai juga dehhh, silahkan dijalankan
programnya dan semoga tulisan ini bisa bermanfaat untuk sobat-sobat bloger
semua. Amin
JANGAN
PERNAH BERHENTI UNTUK MENGGALI POTENSI YANG ADA DI DALAM DIRI SENDRI.
TIDAK
PERLU PANGKAT DAN KEDUDUKAN YANG TINGGI UNTUK MENJADI ORANG BESAR, TAPI DENGAN
ANDA BERARTI UNTUK ORANG-ORANG DI SEKELILING ANDA, DAN MEREKA AKAN MENGANGGAP
ANDA ADALAH ORANG BESAR BAGI MEREKA.
Nice Article Gan, Thx
BalasHapusSangat bagus artikelnya dan sangat bermanfaat.
BalasHapusTerimakasih telah berbagi ilmu.
Komentar ini telah dihapus oleh pengarang.
BalasHapus