打印本文 打印本文 关闭窗口 关闭窗口
C#和SQL数据浏览分页
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3179  更新时间:2007/11/14 13:07:36  文章录入:mintao  责任编辑:mintao
60%\"><font color=\"#00309C\">");
     Response.Write("<a href=\"UnionInfo_Read.aspx?id="+dr["Id"].ToString()+"\" target=\"_self\">");     
     Response.Write(dr["Title"].ToString());

     Response.Write("</a>");
     Response.Write("</td>");

     Response.Write("<td align=\"right\">");
     Response.Write("<font color=\"#999999\">");
     Response.Write("( "+dr["SummaryDateTime"].ToString()+" )");
     Response.Write("     ( 已阅读"+dr["ReadTimes"].ToString()+"次 )");
     Response.Write("</font>");
     Response.Write("</td>");

     Response.Write("</tr>");
    }                
    Response.Write("</p>");
    startID = ds.Tables["Table"].Rows[0].ItemArray[0].ToString();       //通过数组,取第一个数据,得到开始号“startID”
    RowCount = ds.Tables["Table"].DefaultView.Count;//得到表的行数
    endID = ds.Tables["Table"].Rows[RowCount-1].ItemArray[0].ToString();//通过数组,取最后一个数据,得到结束号“endID”
   }
   catch(SqlException e)
   {     
    Response.Write(e.Message);
   }
  }


  /// <summary>
  /// 计算未显示记录数
  /// </summary>
  /// <returns></returns>
  protected void NotShownRecords()
  {
   not_shown_records = this.CountRecord()/*查询总记录数*/ - (CurrentPage/*当前页*/ - 1) * page_count/*每页记录数*/;
  }


  /// <summary>
  /// 进行输出信息
  /// </summary>
  protected  void PageLoad_Count()
  {
   this.NotShownRecords();
   Response.Write("总共"+this.CountRecord()+"条记录       ");
   Response.Write("共有"+this.Page_Count()+"页       ");
   Response.Write("第"+CurrentPage.ToString()+"页       ");
   Response.Write("本页共有"+RowCount.ToString()+"条记录       ");
  }

  /// <summary>
  /// 获得总记录总数
  /// </summary>
  /// <returns>时间条件范围内记录总数intCount</returns>
  protected int CountRecord()
  {   
   int intCount = 0;
   SqlConnection SqlCon = new SqlConnection(Common._DBConnStr);
   SqlCon.Open ();
   
   //找到条件范围内的记录总数
   string strCount = "select count(*) from UnionInfo";
   
   //找到符合条件的第一个记录
   //string strNum = "select top 1 Id from UnionInfo";

   SqlCommand MyComm = new SqlCommand(strCount,SqlCon);
   SqlDataReader dr = MyComm.ExecuteReader();//读取数据流
   if(dr.Read())
   {
                intCount = Int32.Parse(dr[0].ToString());
   }

   else
   {
               intCount = 0;
   }
   dr.Close();
   SqlCon.Close();              
   return intCount;

  }


  /// <summary>
  /// 总分页数
  /// </summary>
  /// <returns>分页总数</returns>
  protected int Page_Count()
  {
   int pageSum = 0;//分页总数   
   pageSum = this.CountRecord() / page_count;           ///记录总数/分页的页数
   if ((this.CountRecord() % page_count) > 0) pageSum++;   
   return pageSum;

  }


  /// <summary>
  /// 取得SQL语句
  /// </summary>
  /// <param name="vCmd">返回命令行</param>
  /// <returns></returns>
  private string GetSQLCommond(string vCommond,string startID,string endID)
  {
   this.NotShownRecords();//执行未显示的行

   vCommond = "SELECT TOP "+page_count+"  {0},{1},{2},{3}  FROM [UnionInfo]";
   
   if(IsPrior)//判断“上一页”
   {
    
   }
 
   if(IsNext)//判断“下一页”
   {

   }

   if (IsLast)//判断“最后一页”
   {

   }

   vCommond = string.Format(vCommond,"Id","Title","SummaryDateTime","ReadTimes");//这个是数据表的字段
   return vCommond;
  }


  /// <summary>
  /// 输入按钮的状态,进行是否可用
  /// </summary>
  /// <param name="first">第一页的状态</param>
  /// <param name="prior">上一页的状态</param>
  /// <param name="next1">下一页的状态</param>
  /// <param name="last">最后一页的状态</param>
  protected void SetButtonState(bool first_,bool prior_,bool next_,bool last_)
  {
   if (CurrentPage==1)//到“第一页”
   {
    first.Disabled = true;//第一页状态
    prior.Disabled = true;//上一页状态
    next.Disabled = false;   //下一页状态
  &

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口