public static DataTable Getshouye(string pagenumber, out int shuchu)
    {
        DbCommand comm = DataAccess.Createcommand();
        comm.CommandText = "getshouye";
        DbParameter para = comm.CreateParameter();
        para.ParameterName = "@shangpingmiaoshulanght";
        para.Value = ShopConfigFile.pageshuliang;
        para.DbType = DbType.Int32;
        comm.Parameters.Add(para);        para = comm.CreateParameter();
        para.ParameterName = "@pageshu";
        para.Value = pagenumber;
        para.DbType = DbType.Int32;
        comm.Parameters.Add(para);        para = comm.CreateParameter();
        para.ParameterName = "@pageshangpinshu";
        para.Value = ShopConfigFile.shangpinlanght;
        para.DbType = DbType.Int32;
        comm.Parameters.Add(para);        para = comm.CreateParameter();
        para.ParameterName = "@shuchu";
        para.Direction = ParameterDirection.Output;
        para.DbType = DbType.Int32;
        comm.Parameters.Add(para);        DataTable table = DataAccess.Executeselectcommand(comm);        int mm =Int32 .Parse(comm.Parameters["@shuchu"].Value.ToString());        mm =(int)Math.Ceiling((double)mm / (double)ShopConfigFile.pageshuliang);
       
        return table;
    }生成的时候提示
错误 1 控制离开当前方法之前必须对 out 参数“shuchu”赋值

解决方案 »

  1.   

    public static DataTable Getshouye(string pagenumber, out int shuchu) 
        { 
            shuchu=0;//一定要赋值 
            DbCommand comm = DataAccess.Createcommand(); 
            comm.CommandText = "getshouye"; 
            DbParameter para = comm.CreateParameter(); 
            para.ParameterName = "@shangpingmiaoshulanght"; 
            para.Value = ShopConfigFile.pageshuliang; 
            para.DbType = DbType.Int32; 
            comm.Parameters.Add(para);         para = comm.CreateParameter(); 
            para.ParameterName = "@pageshu"; 
            para.Value = pagenumber; 
            para.DbType = DbType.Int32; 
            comm.Parameters.Add(para);         para = comm.CreateParameter(); 
            para.ParameterName = "@pageshangpinshu"; 
            para.Value = ShopConfigFile.shangpinlanght; 
            para.DbType = DbType.Int32; 
            comm.Parameters.Add(para);         para = comm.CreateParameter(); 
            para.ParameterName = "@shuchu"; 
            para.Direction = ParameterDirection.Output; 
            para.DbType = DbType.Int32; 
            comm.Parameters.Add(para);         DataTable table = DataAccess.Executeselectcommand(comm);         int mm =Int32 .Parse(comm.Parameters["@shuchu"].Value.ToString());         mm =(int)Math.Ceiling((double)mm / (double)ShopConfigFile.pageshuliang); 
          
            return table; 
        } 
      

  2.   

    out必须在方法体内赋值,你这是因为在方法体内没有给out赋值造成的。可以把out修改为ref,或者在方法的第一句话out参数一个初始值。
    ref 参数在方法外必须给个初始值,这个要注意一下。