PDA

View Full Version : برگشت یک متغیر از sp



rezaei manesh
یک شنبه 03 اردیبهشت 1385, 08:33 صبح
سلام
من می خوام یک متغر توی پروسیجزم ایجاد کنم و مقدار اون رو به برنامه ببرم من این کار را توسط کد زیر انجام دادم اما توی برنامه نی تونم ازش استفاده کنم خطا میده
CREATE PROCEDURE spIsLucked
(
@IDRank int,
@isLuck bit output
)
AS
If (Select count(*) From Rank Where idRank = @IdRank ) > 0
Begin
Update Rank
Set
RowLuck = 1
Where idRank = @IdRank
set @isLuck=0
End
Else
Begin
set @isLuck=1
end
return @isLuck
GO

hpx
یک شنبه 03 اردیبهشت 1385, 08:50 صبح
موقع استفاده از sp تو برنامه باید direction مربوط به پارامتر خروجی رو از نوع output تعریف کنی تا مقدارش رو از برنامه بگیری
ضمنا تو sp بالا return لازم نیست همون set کافیه

rezaei manesh
یک شنبه 03 اردیبهشت 1385, 09:03 صبح
کد بالا مشکلی نداره
اما تو برنامه که می خوام ازش استفاده کنم خطا میده این کد برنامه
cm = New SqlClient.SqlCommand("spIsLuckedRank", cnndatabase)
Dim p As SqlClient.SqlParameter
cm.CommandType = CommandType.StoredProcedure
p = New SqlClient.SqlParameter("@idRank", SqlDbType.Int)
p.Value = intId
cm.Parameters.Add(p)
p = New SqlClient.SqlParameter("@IsLuck", SqlDbType.Bit)
'p.Value = 0
p.Direction = ParameterDirection.Output
cm.Parameters.Add(p)
cnndatabase.Open()
cm.ExecuteNonQuery() 'inja error mideh?!!
Dim isLuck = cm.Parameters("@IsLuck").Value
این کار رو هم کرده بودم

AminSobati
دوشنبه 04 اردیبهشت 1385, 20:29 عصر
لطفا خطا رو پست کنید اینجا