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

我做了一个网站,用asp.net,我在做系统预警功能的时候,想要检索出当前时间距离数据库中药具的有效期的天数小于前台输入的天数。当点击“查询”按钮时,调用“datedif... 我做了一个网站,用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函数。目前我就觉得这两个有可能。请大师指点,我调了好多天了,一直没结果。请指点,急用,谢谢啦。
展开
 我来答
chelcf
2009-05-30 · TA获得超过161个赞
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:137万
展开全部
把填充控件数据的代码放在里面
if(Page.IsPostBack)
{
//填充数据的代码
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式