# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > VB.NET >  چگونگی گرفتن خروجی از  Stored Procedure

## Maryam80

با سلام 
من یک Stored Procedure برای عمل INSERT نوشته ام که پس از عمل ثبت می خواهم مقدار کلید اصلی را بعنوان خروجی ارسال کند ولیکن نمی دانم که به چه صورت می توان خروجی SP را درون یک متغیر در برنامه ریخت 


 SqlCommand1.CommandText = "INSERT TBL_Client(CLIENTNAME,GROUPID,CLIENTPARENTID,SHORT  NAME,STRUCTUREID,VER,WHO,DELTAG,EDITTAG,CustomerID  ,ContractID) VALUES('" & TxtClient.Text & "'," & CmbGroup.SelectedValue & "," & SelectedParentID & ",'" & TxtShortname.Text & "'," & CmbGroupStructure.SelectedValue & ",1," & KeepUserId & "," & deltag & ",0," & CmbCustomer.SelectedValue & "," & CmbContract.SelectedValue & ")"
        SqlCommand1.CommandType = CommandType.StoredProcedure
        SqlCommand1.CommandText = "exec Insert_Tbl_Client '" & TxtClient.Text & "'," & CmbGroup.SelectedValue & "," & SelectedParentID & ",'" & TxtShortname.Text & "'," & CmbGroupStructure.SelectedValue & ",1," & KeepUserId & "," & deltag & ",0," & CmbCustomer.SelectedValue & "," & CmbContract.SelectedValue & "," & ClientIDentity
        SqlCommand1.Parameters.Add("@clientid", ClientIDentity)
        SqlCommand1.Parameters("@clientid").Direction = ParameterDirection.ReturnValue
        SqlCommand1.Parameters("@clientid").Value = "null"
        SqlCommand1.Connection.Open()
       ClientIDentity = SqlCommand1.ExecuteScalar
  SqlCommand1.Connection.close()

----------


## M.kavyani

با سلام
مشکل در کجاست؟ این کدش  که مقداری بازگشتی از sp   رو  تو متغیره  ClientIDentity  ذخیره میکنه.

----------


## Maryam80

مشکل حل شد

ممنون

----------


## hamed_bostan

ضمنا فقط جهت اطلاع می گم که شما می تونید توی استورد پروسیجر خودتون بلافاصله بعد از دستور insert خود این کد رو بنویسید تا id رکورد insert شده رو براتون در بیاره :

SELECT @@IDENTITY AS 'Id'      return

----------


## Cybersilent

سلام خدمت دوستان
کاش به ما هم می گفتید مشکلش کجا بود که حل شد.

----------


## Cybersilent

سلام 
اونقدر نگفتین تا خودم پیداش کردم

اینم کد وی بی هست که از یک Stored Procedure خروجی می گیره

        Dim Avg As String
        Cmd.CommandType = CommandType.StoredProcedure
        Cmd.CommandText = "Show_Collegian_Average"
        Cmd.Parameters.AddWithValue("@C_Code", MaskedTextBox4.Text)
        Cmd.Parameters.AddWithValue("@Date", MaskedTextBox2.Text)
        Cmd.Parameters.Add("@op", SqlDbType.Float, 3).Direction = ParameterDirection.Output
        Cmd.ExecuteScalar()
        Avg = DirectCast(Cmd.Parameters("@op").Value.ToString, String)

----------

