Bagaimana caranya mengambil nilai Return Value dari Stored Procedure...

Posted at : Mar/30/2007
5124 Views

Ada kalanya kita menggunakan return value untuk mengecek suatu kondisi pada sebuah table. Misalkan kita akan mengecek apakah sebuah table mempunyai record atau tidak, atau mungkin untuk mendapatkan error number dari T-SQL yang digunakan di dalam stored procedure bila terjadi error.

Pertama kita buat terlebih dahulu stored procedurenya. Asumsikan saya punya sebuah table namanya Books, kemudian kita ingin cek apakah table tsb mempunyai record atau tidak.

   1:  Create Proc TestReturnValue
   2:  As
   3:  Declare @retval int
   4:  Select @retval = Count(*) From Books
   5:  If @retval > 0
   6:      Begin
   7:          Set @retval = 1
   8:          Return @retval
   9:      End
  10:  Else
  11:      Begin
  12:          Set @retval = 0
  13:          Return @retval
  14:      End

Setelah itu kita buat aplikasi sederhana untuk test apakah stored proc tersebut berjalan sesuai dengan harapan :) . Asumsikan saya punya sebuah Button dimana code untuk EvenHandler Click nya spt dibawah ini :

   1:  Imports System.Data.SqlClient
   2:   
   3:  Public Class ReturnValueTest
   4:   
   5:      Private Sub btnCekRetVal_Click(ByVal sender As System.Object, _
   6:      ByVal e As System.EventArgs) Handles btnCekRetVal.Click
   7:   
   8:          Using myConn As New SqlConnection _
   9:          ("Database=AdventureWorks;Server=.\SqlDev2k5;" & _
  10:          "Integrated Security=SSPI")
  11:              Using myCmd As New SqlCommand
  12:                  With myCmd
  13:                      .CommandType = CommandType.StoredProcedure
  14:                      .Connection = myConn
  15:                      .CommandText = "TestReturnValue"
  16:                      .Parameters.Add("@retval", _
  17:                      SqlDbType.Int).Direction = _
  18:                      ParameterDirection.ReturnValue
  19:   
  20:                      myConn.Open()
  21:                      myCmd.ExecuteNonQuery()
  22:   
  23:                      Dim intRetVal As Int32 = _
  24:                      CType(myCmd.Parameters.Item("@retval").Value, _
  25:                      Int32)
  26:   
  27:                      If intRetVal = 0 Then
  28:                          MessageBox.Show("No Record on the" & _
  29:                          "Books table")
  30:                      Else
  31:                          MessageBox.Show("There are Record(s)" & _
  32:                          "on the Books table")
  33:                      End If
  34:                  End With
  35:              End Using
  36:          End Using
  37:      End Sub
  38:   
  39:  End Class

Ok...that's it...try this code at home :)


ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Co-Founder & IT Trainer at Native Enterprise | Microsoft Azure Data Scientist | IBM RAG & Agentic AI | IBM Data Science & Data Analyst | Python Certified (PCEP, PCAP) | MOS, MTA, Xamarin Certified, ex MCT | ex MVP

CERTIFICATIONS

Microsoft Certified Associate
IBM RAG and Agentic AI Professional
IBM Data Science Professional IBM Data Analyst Professional
PCAP Associate Python Programmer Certified PCEP Entry Level Python Programmer Certified
Xamarin Certified
MOS 2007
MCPD MCTS
MCAD.NET

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  Facebook  Instagram  LinkedIn   Twitter

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2026   Rully Yulian MF   All rights reserved.