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

Created at : Mar/30/2007  
2109 Views   4 Comments

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 :)


[Comments]
Ferry Lukito Dec/03/2007 12:58:40 :
hallo2, aku newbie neh minta tlg donk, aku punya crystal report yang sy buat dari visual studio 2005 yg sdh terintegrated crystal report nah report aku itu, lebar nya panjang bgt, kira2 kolom nya bs lebih dari 20, klo sy preview di browser report nya terpotong jadi hanya 1 layar monitor saja yg terlihat oh ia, sy pk asp vb.net thx
Ferry Lukito Dec/03/2007 01:00:01 :
hiks2 sry yah klo saya comment nya disini maaf2 ^_^
Rully Dec/03/2007 03:14:44 :
Halo...kalau laporan crystal report itu tergantung dari setting printer dan paper size nya. jadi pastikan ketika kita design reportnya laporannya terlihat semua, kalau tidak berarti harus dirubah setting papernya.
Ferry Lukito Dec/04/2007 01:13:49 :
ok, thanks yah

[Write your comment]
Name (required)
URL (optional)
Example : http://www.yulianmf.com  
Comment

846a
Input code above below (Case Sensitif) :
About Me 
Rully Yulian MF
My Name is Rully Yulian Muhammad Firmansyah. I am an IT Trainer, IT Consultant and Application Developer spesializing in Microsoft .NET technology and SQL Server database. I live in Bandung, Indonesia. My hobby is to play Guitar. [Read More...]
Top Download 
Bagaimana caranya menginstal database ketika deploying sebuah aplikasi? : Downloaded 2235 times  
Change Group,Sort Order, Filtering By Date in Crystal Reports : Downloaded 2192 times  
Simple Voice Engine Application With Sound Player Class... : Downloaded 1523 times  
DataGridView Grouping : Downloaded 1243 times  
WinForms DataGrid Paging With SqlDataAdapter : Downloaded 1232 times  
Article Category 
Links 
Award 
Certifications 
MOS 2007
MCAS
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench
Native Enterprise - IT Training 
Native Enterprise Facebook Group 
My Facebook 
My LinkedIn 
Syndication (RSS 2.0) 
Powered By 
Native Enterprise News