मेहरदाद ने कुछ अच्छी बातें कही हैं, लेकिन मुख्य बात जो मैंने देखी वह यह है कि आप कभी भी क्वेरी नहीं चलाते हैं ...
SqlParameter retval = sqlcomm.Parameters.Add("@b", SqlDbType.VarChar);
retval.Direction = ParameterDirection.ReturnValue;
sqlcomm.ExecuteNonQuery(); // MISSING
string retunvalue = (string)sqlcomm.Parameters["@b"].Value;