मैं अपने C # windows एप्लिकेशन से संग्रहीत कार्यविधि को कॉल करने का प्रयास कर रहा हूं। संग्रहीत कार्यविधि SQL Server 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
संग्रहित प्रक्रिया में भी जोड़ना है?