Menggunakan Stored Procedure SQL Server pada VB6

Menggunakan Stored Procedure SQL Server dengan VB6
Jika pada artikel sebelumnya yang pernah dibahas, yaitu tentang setting koneksi database SQL Server dengan VB6 dan juga saya berikan contoh program yang mengolah data Master Barang, maka pada artikel ini saya akan memberikan contoh yang hampir sama dengan contoh program tersebut, akan tetapi saya akan menggunakan fasilitas Stored Procedure dari SQL Server sebagai pemroses Query dalam pengolahan data dalam database. Masih menggunakan komponen yang sama dalam menyususn koneksi database SQL Server, yaitu komponen ADODB Connection dan provider SQLOLEDB, akan tetapi CommandType yang digunakan adalah adCmdStoredProc bukan adCmdText.

Stored Procedure
Stored Procedure adalah kumpulan dari perintah atau query (TSQL) dalam SQL Server yang tersimpan secara permanen dalam database SQL Server yang menjadikan sebagai sebuah prosedur atau fungsi. Sehingga dengan menggunakan Stored Procedure tersebut kita tinggal melakukan eksekusi dengan menyebutkan nama Stored Procedure nya. Dalam Stored Procedure kita dapat memberikan parameter data yang dilewatkan dalam ekseskusi untuk diproses lebih lanjut dalam perintah-perintah di dalam Stored Procedure.

Sebagai contoh berikut dibawah ini ada 2 Stored Procedure yang tanpa dan yang menggunakan parameter, yaitu sebagai berikut:

CREATE PROCEDURE [dbo].[SP_READ_DATA_MASTERBARANG]

BEGIN 
    SELECT * FROM MasterBarang
END


ALTER PROCEDURE [dbo].[SP_ADD_MASTERBARANG]

@KodeBarang  varchar(10),
@NamaBarang  varchar(50),
@Satuan  varchar(10),
@StokAkhir  int,
@HargaJual  money

AS

SET NOCOUNT ON

DECLARE @LKodeBarang  varchar(10)
DECLARE @LNamaBarang  varchar(50)
DECLARE @LSatuan  varchar(10)
DECLARE @LStokAkhir  int
DECLARE @LHargaJual  money

SET @LKodeBarang = @KodeBarang
SET @LNamaBarang = @NamaBarang
SET @LSatuan = @Satuan
SET @LStokAkhir = @StokAkhir
SET @LHargaJual = @HargaJual

BEGIN 
    INSERT INTO MasterBarang
    (KodeBarang, NamaBarang, Satuan, StokAkhir, HargaJual) 
    VALUES 
    (@LKodeBarang, @LNamaBarang, @LSatuan, @LStokAkhir, @LHargaJual)
END

Eksekusi Stored Procedure
Sebenarnya untuk melakukan eksekusi Stored Procedure lewat kode program VB6 ada banyak cara, tetapi dalam artikel ini saya akan memberikan cara yang paling sederhana dan praktis, yaitu dengan menggunakan komponen ADODB.Command, seperti pada contoh program sebelumnya yang disebutkan di atas. Dalam mengeksekusi Stored Procedure menggunakan kode program VB6 cukup merubah komponen CommandType menjadi adCmdStoredProc, seperti dalam contoh kode program yang tersusun dalam class untuk menambah data berikut di bawah ini:


Public Function TambahData(oConnection As Object) As Boolean
    Dim oCmd As New ADODB.Command
    Dim SQL As String

    SQL = "INSERT INTO MasterBarang " + _
          "(KodeBarang,NamaBarang,Satuan,StokAkhir,HargaJual) " + _
          "VALUES (?, ?, ?, ?, ?) "
    
    TambahData = True
    On Error GoTo ProcessError
    
    oCmd.ActiveConnection = oConnection
    oCmd.CommandType = adCmdText
    oCmd.CommandText = SQL
    oCmd.Parameters(0) = Fields.KodeBarang
    oCmd.Parameters(1) = Fields.NamaBarang
    oCmd.Parameters(2) = Fields.Satuan
    oCmd.Parameters(3) = Fields.StokAkhir
    oCmd.Parameters(4) = Fields.HargaJual
    oCmd.Execute
    
    Exit Function
    
ProcessError:
    TambahData = False
    Err.Raise Err.Number, ", Err.Description"
End Function

Sedangkan untuk mengeksekusi Stored Procedure cukup sedikit merubah CommandType menjadi adCmdStoredProc dan menyebutkan nama Stored Procedure yang telah kita buat dalam SQL Server, yaitu seperti contoh kode program berikut ini:

Public Function TambahData(oConnection As Object) As Boolean
    Dim oCmd As New ADODB.Command
    
    TambahData = True
    On Error GoTo ProcessError
    
    oCmd.ActiveConnection = oConnection
    oCmd.CommandType = adCmdStoredProc
    oCmd.CommandText = "SP_ADD_MASTERBARANG"
    oCmd.Parameters("@KodeBarang") = Fields.KodeBarang
    oCmd.Parameters("@NamaBarang") = Fields.NamaBarang
    oCmd.Parameters("@Satuan") = Fields.Satuan
    oCmd.Parameters("@StokAkhir") = Fields.StokAkhir
    oCmd.Parameters("@HargaJual") = Fields.HargaJual
    oConnection.CursorLocation = adUseServer
    oCmd.Execute
    
    Exit Function
    
ProcessError:
    TambahData = False
    Err.Raise Err.Number, ", Err.Description"
End Function

Untuk lebih jelasnya anda bisa download contoh program Menggunakan Stored Procedure SQL Server pada VB6, dapat anda download disini.

Jika anda masih belum jelas tentang program tersebut diatas, anda bisa bertanya pada kami lewat Contact Form atau gunakan dalam Komentar. Dan bagi yang masih awam tentang bahasa pemrograman VB6, anda bisa mengakses Tutorial VB6 yang telah kami posting sebelumnya.

Previous
Next Post »