SqlConnection conPortal = new SqlConnection(CommunityGlobals.ConnectionString);
SqlCommand cmdAdd = new SqlCommand( "Community_DiscussAddPost", conPortal);
cmdAdd.CommandType = CommandType.StoredProcedure;
cmdAdd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue; //处理return的返回值
cmdAdd.parameters.Add("@outputvalue",sqlDbType.Int);
cmdAdd.Parameters[].Direction=parameterDirectionOutput;
/**上面两句等同于cmdAdd.Parameters.Add("@outputvalue",sqlDbType.Int).Direction=ParameterDirectionOutput;
**/
cmdAdd.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
cmdAdd.Parameters.Add("@sectionID", sectionID);
cmdAdd.Parameters.Add("@username", username);
cmdAdd.Parameters.Add("@topicID", topicID);
cmdAdd.Parameters.Add("@title", title);
cmdAdd.Parameters.Add("@briefDescription", briefDescription);
cmdAdd.Parameters.Add("@metaDescription", ContentPageUtility.CalculateMetaDescription(briefDescription));
cmdAdd.Parameters.Add("@metaKeys", ContentPageUtility.CalculateMetaKeys(briefDescription));
cmdAdd.Parameters.Add("@moderationStatus", moderationStatus );
cmdAdd.Parameters.Add("@isPinned", isPinned);
cmdAdd.Parameters.Add("@isAnnouncement", isAnnouncement);
cmdAdd.Parameters.Add("@isLocked", isLocked);
cmdAdd.Parameters.Add("@bodyText", SqlDbType.NText);
cmdAdd.Parameters[ "@bodyText" ].Value = bodyText;
conPortal.Open();
cmdAdd.ExecuteNonQuery();
//取得返回值
int result = (int)cmdAdd.Parameters["@RETURN_VALUE"].Value;
//取得output值
int output=(int)CmdAdd.parameters["@outputzhi"].value;
相对应有return的存储过程写法
create PROCEDURE checkstate
@param varchar(11)
AS IF ((SELECT questName FROM t_question WHERE questid = 1) = 'CA')
RETURN 1
ELSE
RETURN 2
DECLARE @return_status int
EXEC @return_status = checkstate '172-32-1176'
print @return_status
SELECT 'Return Status' = @return_status
GO