这段代码我已经实现了输出前行,替换超长字符。
现在输出的是表中前五行数据, 我想输出最新的五行,在表中应该是最后五行数据。
该怎么改呢!代码如下:
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;
}
现在输出的是表中前五行数据, 我想输出最新的五行,在表中应该是最后五行数据。
该怎么改呢!代码如下:
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;
}
SqlStr = "SELECT Top 5 * FROM Yy order by Date(ID) desc";
获取最后五条数据
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);
}
}
}
就是
我是想输出数据后加个new嘛
需要与时间进行比较 我数据库中时间字段是 yyNew在代码中应该怎样写 数据库的时间字段与当天时间比较一下
相等就输出new。
扩展一下就是最近2天都加个new 3.4.5...天????
先感谢!
若相等 则在输出数据后加个new