का उपयोग कर रिटर्न वैल्यू मैं परिणाम सेट प्राप्त करने और SQL 2008 सर्वर पर संग्रहीत प्रो के मूल्य को वापस करने का प्रयास कर रहा हूं। जब मैं एसक्यूएल प्रबंधन स्टूडियो में proc चलाता हूं, तो मुझे परिणाम सेट और वापसी मूल्य मिलता है।SqlCommand
हालांकि, जब मैं सी # 4.0 में मान प्राप्त करने का प्रयास करता हूं, तो पैरामीटर का मान शून्य है। यहाँ मेरी सी # कोड है:।
using (ConnectionManager<SqlConnection> cn = ConnectionManager<SqlConnection>.GetManager(CultureInfo.CurrentCulture.Name))
{
using (SqlCommand cm = cn.Connection.CreateCommand())
{
cm.CommandText = "Name of proc here";
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.AddWithValue("@ApplicationId", ApplicationId);
cm.Parameters.AddWithValue("@Index", Index);
if (PageSize > 0)
cm.Parameters.AddWithValue("@PageSize", PageSize);
cm.Parameters.Add("@ReturnValue", SqlDbType.Int);
cm.Parameters["@ReturnValue"].Direction = ParameterDirection.ReturnValue;
using (IDataReader dr = cm.ExecuteReader())
{
SafeDataReader sdr = new SafeDataReader(dr);
while (sdr.Read())
{
UserApplicationEntity uae = new UserApplicationEntity();
uae.UserId = sdr.GetGuid("UserId");
uae.ExternalId = sdr.GetString("ExternalId");
Result.Value.Collection.Add(uae);
}
Result.Value.TotalResults = (int)cm.Parameters["@ReturnValue"].Value;
}
}
}
अंतिम पंक्ति है, जहां मैं Result.Value.TotalResults = (int) cm.Parameters [ "@ ReturnValue"] कॉल मूल्य; वह जगह है जहां मूल्य शून्य है। मैंने पाया है कि हर ट्यूटोरियल या पोस्ट, मैं सबकुछ सही ढंग से कर रहा हूं। इस बिंदु पर मुझे लगता है कि मैं बस कुछ छोटा याद कर रहा हूं और आंखों का एक और सेट चाहिए। मैंने अन्य सभी के सामने रिटर्न पैरामीटर सेट करने का भी प्रयास किया है क्योंकि एमएस साइट पर मिली एक पोस्ट में कहा गया था कि मुझे इसकी आवश्यकता है, लेकिन यह कहां है कि यह कहां है, यह शून्य हो जाता है।
इसे पाठक को बंद करने के लिए इसे उपयोग करने वाले ब्लॉक के बाहर ले जाना पड़ा। कभी सोचा नहीं था कि मामला था। धन्यवाद! – phreak3eb