IF @@ERROR <> 0
  BEGIN
    ROLLBACK TRAN
    RETURN(1)
  END  Set NoCount Off
    COMMIT TRAN
   return(0)
如上面是返回存储过程是否成功的以前我写的时候都是用一个参数@RetVal Int OutPut 来做返回
但这里别人的存储过程里面他没有加这个返回值
那我程序怎么去读取上面的那个返回值呢谢谢

解决方案 »

  1.   

    传参数,类型为System.Data.ParameterDirection.ReturnValue
      

  2.   


        // 仅供参考 create by czz 2007/9/17
        public string Meau_Edit(string flag, string MenuName, string Pid, string Link, string UpdateName,string id)
        {
            try
            {
                sqlcomm("usp_Admin_Menus_Edit");//存储过程名            SqlParameter param = new SqlParameter();//关键部分!!
                param.Direction = System.Data.ParameterDirection.ReturnValue;
                mycomm.Parameters.Add(param);            mycomm.Parameters.AddWithValue("@flag", flag.Trim());
                mycomm.Parameters.AddWithValue("@MenuName", MenuName.Trim());
                mycomm.Parameters.AddWithValue("@Pid", Pid.Trim());
                mycomm.Parameters.AddWithValue("@Link", Link.Trim());
                mycomm.Parameters.AddWithValue("@UpdateName", UpdateName.Trim());
                mycomm.Parameters.AddWithValue("@id", id.Trim());
                sqlconn_Open();
                mycomm.ExecuteNonQuery();
                sqlconn_Close();
                return param.Value.ToString();//返回值
            }        catch (Exception ex)
            {
                sqlconn_Close();
                return "Error:" + ex.Message;        }    }
      

  3.   

    传入一个Direction为ReturnValue的参数就可以了,执行完存储过程直接读这个参数值就是返回值了