有这样的代码:
 DataSet ds = DbHelperSQL.RunProcedure("Common_Yewuxiaojie_Get", parameters);
这里DbHelperSQL.RunProcedure()这个方法返回值是int ;为什么还是可以给ds里填数据,为什么类型都不一样还可以赋值啊,我运行了这个没有问题,就是不理解,哪个能帮我解释一下 啊

解决方案 »

  1.   

    跟这没关系吧楼主还是检查代码吧 DataSet ds = DbHelperSQL.RunProcedure("Common_Yewuxiaojie_Get", parameters);如果如楼主所说返回的是int;
    DataSet ds;连对象都没分配
    编译都无法通过。
      

  2.   

    你确定这个方法返回的是int?
      

  3.   

    看这个存储过程的名字Common_Yewuxiaojie_Get,业务小结,怎么看也不像是会返回int的存储过程啊
      

  4.   

    存储过程是查询,就是这个方法确实是返回的是int,我也很纳闷啊,他怎么编译通过的 我实在是费解的很啊
      

  5.   

    闷~~  我找到原始方法看了 还真有个返回dataset的方法, 为什么我把鼠标移到DataSet ds = DbHelperSQL.RunProcedure("Common_Yewuxiaojie_Get", parameters);
    这个方法上时显示的返回类型是 int ;求解答啊,好心人啊
      

  6.   

            #region  分页列表
            /// <summary>
            /// 分页列表
            /// </summary>
            public DataTable SelectBySearch(string searchString, string ColumnsNames, int currentPageNo, int pageSize, string order, ref int totalNum)
            {
                SqlParameter[] parameters = {
    new SqlParameter("@SearchString", SqlDbType.VarChar, 2000),
                    new SqlParameter("@ColumnsNames", SqlDbType.VarChar, 2000),
    new SqlParameter("@CurrentPageNo", SqlDbType.Int),
    new SqlParameter("@PageSize", SqlDbType.Int),
    new SqlParameter("@Order", SqlDbType.VarChar, 1000),
    new SqlParameter("@TotalNum", SqlDbType.Int)
    };
                parameters[0].Value = searchString;
                parameters[1].Value = ColumnsNames;
                parameters[2].Value = currentPageNo;
                parameters[3].Value = pageSize;
                parameters[4].Value = order;
                parameters[5].Direction = ParameterDirection.InputOutput;
                DataSet ds = DbHelperSQL.RunProcedure("Common_Yewuxiaojie_SelectBySearch", parameters);
                totalNum = int.Parse(parameters[5].Value.ToString());
                return ds.Tables[0];
            }
            #endregion
      

  7.   

    DbHelperSQL.RunProcedure
    返回的是DataSet,不是int
    不要再怀疑了 去看源码吧
      

  8.   

    仔细看看
    可能有几个重载 
    有一个可以返回DataSet
      

  9.   

    呵呵 我猜不会
    RunProcedure("Common_Yewuxiaojie_Get", parameters);
    意图很单一,不像泛型。
      

  10.   

    DataSet ds = new DataSet();
                ds = 1;
    你看这个报错吗
      

  11.   

    报错了啊,我把鼠标放上去 他显示的是int  我转到定义的时候看他的返回值有事dataset ,不明白啊
      

  12.   

    Ctrl+F DataSet RunProcedure
    Next ........
      

  13.   

    Ctrl+F int RunProcedure
    Next ........
      

  14.   

    楼主,你转到定义,看看RunProcedure这个方法的返回值是什么?而且如楼上几位所说,查看一下,到底有几个RunProcedure方法,在具体看看返回值