C#在gridview中检索出符合条件的记录

我做了一个网站,用asp.net,我在做系统预警功能的时候,想要检索出当前时间距离数据库中药具的有效期的天数小于前台输入的天数。当点击“查询”按钮时,调用“datediff”函数,一下是datediff函数中的一部分:
//文本框中的数据
string t = this.tYouXiaoQi.Text.ToString().Trim();
int dtime = Convert.ToInt32(t);
//取当前时间
string lastTime = System.DateTime.Now.ToString().Trim();

DateTime dt2 = Convert.ToDateTime(lastTime);

int[] retval = new int[GridView1.Rows.Count];
//循环获取每一行的有效期
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{

//取数据库中的有效期
string startTime = ((Label)GridView1.Rows[1].Cells[3].FindControl("YouXiaoQi")).Text;
DateTime dt1 = Convert.ToDateTime(startTime);
TimeSpan tracts = dt1 - dt2;
int totalsecond = Convert.ToInt32(tracts.TotalSeconds);
retval[i] = totalsecond / 86400;
// retval= totalsecond / 86400;
// TextBox1.Text=Convert.ToString( retval);
//Label1.Text =startTime
if (retval[i] <= dtime)
{
string select = "select * from YaoJuKuCunXinXiBiao where LiuShuiHao='" + GridView1.DataKeys[1].Value + "'";
//创建SqlCommand命令对象
SqlDataAdapter adapter = new SqlDataAdapter(select, con);
DataSet ds = new DataSet();
adapter.Fill(ds);
GridView1.DataSource = ds.Tables[0].DefaultView;
}
}
我用一些文本框测试了一下(是在page_load函数中测试的),剩余天数、提取的日期都没错,但就是检索的结果是都符合记录。数据库中有4个记录,第二个记录是符合条件的,是不是我用的循环不正确啊?还是点击按钮后,根本就没调用datediff函数。目前我就觉得这两个有可能。请大师指点,我调了好多天了,一直没结果。请指点,急用,谢谢啦。
最新回答
有多少爱能够胡来

2024-10-31 10:54:45

把填充控件数据的代码放在里面
if(Page.IsPostBack)
{
//填充数据的代码
}