“/ExamineSystem”应用程序中的服务器错误。
--------------------------------------------------------------------------------PaperCount 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: PaperCount源错误: 
行 59:  while(recpc.Read())
行 60:  {
行 61:  nPaperCount = Int32.Parse(recpc["PaperCount"].ToString());
行 62:  }
行 63:  recpc.NextResult();
 是这句话“nPaperCount = Int32.Parse(recpc["PaperCount"].ToString());”出错了,这个PaperCount具体是指什么??

解决方案 »

  1.   

    你这个recpc是啥啊?估计是在recpc这个里头找不着相应的PaperCount索引吧。
      

  2.   

    recpc["PaperCount"] = null时会出错,不能tostring
    recpc["PaperCount"]不是数字时会出错,int32.parse转不过来
      

  3.   

    授人与鱼,不如授人与渔:用个try catch 块具体看看啊.
      

  4.   

    recpc["PaperCount"]应该是object 类型,然后recpc["PaperCount"].ToString())转换成String,楼主确认那个PaperCount是数字吧,?弱弱地问
      

  5.   

    .......
    .......
    recpc["PaperCount"], 你的datareader中没有PaperCount这样的字段.
      

  6.   

    这个PaperCount从字面意思来看我想具体指的是页号,也就是当前有多少个页面的意思。Int32.Parse的意思是:将数字的字符串表示形式转换为它的等效 32 位有符号整数。这里的recpc应该是DataReader对象。
    nPaperCount = Int32.Parse(recpc["PaperCount"].ToString());:错的原因不是因为你没有这个字段,就是因为这个字段为空。
      

  7.   

    我把PaperCount改为1都不行的,为什么呀????
      

  8.   

    try
    {
    while(recpc.Read())
    {
      nPaperCount = Int32.Parse(recpc["PaperCount"].ToString());
    }
    }
    catch(Exception exception)
    {
        Response.Write(exception.Message);
    }
      

  9.   

    Tony8002003:
        你说的差不多多对了。
        我这个表是没有PaperCount这个字段,recpc是DataReader对象。我不明白为什么这个表是没有PaperCount这个字段,多能使用这个字段呢?你能在详细的说一下好吗?我真的想不出来是什么回事?