मैं अपने सी # विंडोज़ एप्लिकेशन से संग्रहीत प्रक्रिया को कॉल करने का प्रयास कर रहा हूं। संग्रहीत प्रक्रिया SQL सर्वर 2008 के स्थानीय उदाहरण पर चल रही है। मैं संग्रहित प्रक्रिया को कॉल करने में सक्षम हूं लेकिन मैं संग्रहीत प्रक्रिया से मूल्य वापस पुनर्प्राप्त करने में सक्षम नहीं हूं। यह संग्रहीत प्रक्रिया अनुक्रम में अगले नंबर को वापस करने के लिए माना जाता है। मैंने ऑनलाइन शोध किया है और मैंने देखी सभी साइटों ने इस समाधान को काम करने की ओर इशारा किया है।वापसी मूल्य के साथ संग्रहीत प्रक्रिया को कॉल करना
संग्रहित प्रक्रिया कोड:
ALTER procedure [dbo].[usp_GetNewSeqVal]
@SeqName nvarchar(255)
as
begin
declare @NewSeqVal int
set NOCOUNT ON
update AllSequences
set @NewSeqVal = CurrVal = CurrVal+Incr
where SeqName = @SeqName
if @@rowcount = 0 begin
print 'Sequence does not exist'
return
end
return @NewSeqVal
end
कोड संग्रहीत प्रक्रिया बुला:
SqlConnection conn = new SqlConnection(getConnectionString());
conn.Open();
SqlCommand cmd = new SqlCommand(parameterStatement.getQuery(), conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter();
param = cmd.Parameters.Add("@SeqName", SqlDbType.NVarChar);
param.Direction = ParameterDirection.Input;
param.Value = "SeqName";
SqlDataReader reader = cmd.ExecuteReader();
मैं भी एक ही परिणाम के साथ वापसी मान प्राप्त करने के लिए एक DataSet
उपयोग करने की कोशिश की है। मेरी संग्रहीत प्रक्रिया से वापसी मूल्य प्राप्त करने के लिए मुझे क्या याद आ रही है? यदि अधिक जानकारी की आवश्यकता है, तो कृपया मुझे बताएं।
क्या आपको संग्रहीत प्रक्रिया में '@ ReturnVal' भी जोड़ना है? – muttley91
नहीं, आपको स्पैमवैल्यू के साथ चिह्नित पैरामीटर भरने वाले वापसी कथन ट्रिगर को जोड़ने की आवश्यकता नहीं है) – ufosnowcat
thanx मुझे इस – varsha