这段代码我已经实现了输出前行,替换超长字符。
现在输出的是表中前五行数据, 我想输出最新的五行,在表中应该是最后五行数据。
该怎么改呢!代码如下:
 protected void Page_Load(object sender, EventArgs e)
    {
        string SqlStr = "";
        SqlStr = "SELECT Top 5 * FROM Yy";
        string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;       //取出连接字符串
        DataSet ds = new DataSet();                             //创建DataSet数据集
        SqlConnection conn = new SqlConnection(connStr);        //创建连接对象
        try
        {
            if (conn.State.ToString() == "Closed")              //如果连接没有打开,打开连接
                conn.Open();
            SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);
            da.Fill(ds);                                        //为DataSet数据集填充数据            GridView1.DataSource = ds.Tables[0].DefaultView;    //为GridView指名数据源
            GridView1.DataBind();
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                DataRowView mydrv;
                string gIntro;
                if (GridView1.PageIndex == 0)
                {
                    mydrv = ds.Tables[0].DefaultView[i];//表名
                    gIntro = Convert.ToString(mydrv["yyYq"]);//所要处理的字段
                    GridView1.Rows[i].Cells[0].Text = SubStr(gIntro, 8);
                }
                else
                {
                    mydrv = ds.Tables[0].DefaultView[i + (5 * GridView1.PageIndex)];
                    gIntro = Convert.ToString(mydrv["yyYq"]);
                    GridView1.Rows[i].Cells[0].Text = SubStr(gIntro, 8);
                }
            }
        }
        finally
        {
            if (conn.State.ToString() == "Open")                //操作完,如果连接处于打开,则关闭连接
                conn.Close();
        }
    }
    public string SubStr(string sString, int nLeng)
    {
        if (sString.Length <= nLeng)
        {
            return sString;
        }
        string sNewStr = sString.Substring(0, nLeng);
        sNewStr = sNewStr + "...";
        return sNewStr;
    }

解决方案 »

  1.   

    不知道是我没看懂还是问题本身不复杂,为什么不更改SQL语句?
    SqlStr = "SELECT Top 5 * FROM Yy order by Date(ID) desc";
      

  2.   

    SELECT Top 5 * FROM Yy order by 字段 desc
    获取最后五条数据
      

  3.   

     截取字符串
    public   static   string   GetSubString(string   mText,int   startIndex,int   byteCount)   
                      {   
                              if(byteCount   <   1   )   return   string.Empty;   
                              
                              if(     System.Text.Encoding.Default.GetByteCount(mText)<=   byteCount)   
                              {   
                                      return   mText;   
                              }   
                              else   
                              {   
                                      if(startIndex   ==   0)   
                                      {   
                                              byte[]   txtBytes   =   System.Text.Encoding.Default.GetBytes(mText);   
                                              byte[]   newBytes   =   new   byte[byteCount];   
                                        
                                              for(int   i=0;i<byteCount;i++)   
                                                      newBytes[i]   =   txtBytes[i];   
        
                                              return   System.Text.Encoding.Default.GetString(newBytes);   
                                      }   
                                      else   
                                      {   
                                              string   tmp   =   GetSubString(mText,0,startIndex-1);   
                                              mText   =   mText.Substring(tmp.Length);   
                                              return   GetSubString(mText,0,byteCount);   
                                      }   
                              }   
                      }   
      

  4.   

    是我大意了! 没说全  抱歉  把代码复制上去就提交了   前面还没说完呢  还有一个要求的
    就是
    我是想输出数据后加个new嘛
    需要与时间进行比较  我数据库中时间字段是 yyNew在代码中应该怎样写  数据库的时间字段与当天时间比较一下
    相等就输出new。
    扩展一下就是最近2天都加个new   3.4.5...天????
    先感谢!
      

  5.   

    现在就是达到Yy表中yyNew的时间字段与当前时间比较
    若相等  则在输出数据后加个new