Selasa, 14 Januari 2014

Penggunaan Stored Procedure di VB.Net 2008 dan SQL Server 2005


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.

3 komentar: