Don't think you are, know you are

博客园 首页 新随笔 管理


存储过程可以有返回值,可以有传出参数。
传出参数的数量没有限制,返回值只能有一个,并且执行return 以后,和其他语言的函数中一样,后面的语句就不会再执行了。所以该怎么用,自己权衡吧。

下面是获取返回值和传出参数的例子:

        SqlConnection conn=new SqlConnection (  System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
        SqlCommand comm = new SqlCommand("ReturnValueTest",conn);
        comm.Parameters.Add("@name", SqlDbType.NVarChar,100).Value ="chitu";
        comm.Parameters.Add("@returnTest",SqlDbType.Int );
        comm.Parameters.Add ("returnValue",SqlDbType.Int);
        comm.Parameters["@returnTest"].Direction =ParameterDirection.Output;
        comm.Parameters["returnValue"].Direction = ParameterDirection.ReturnValue;
        comm.CommandType = CommandType.StoredProcedure; 

        conn.Open();
        comm.ExecuteNonQuery();
        conn.Close();

        int a =(int) comm.Parameters["@returnTest"].Value;
        int b = (int)comm.Parameters["returnValue"].Value;

返回值和传出参数彼此的作用还是无法替代的。



posted on 2007-09-02 20:39  炭炭  阅读(1065)  评论(0编辑  收藏  举报