当前位置:编程学习 > C#/ASP.NET >>

C#连接的Access数据库,在数据库中已知出生日期,怎么计算年龄

string sql = "select * from Persons where p_age=DateDiff('yyyy', [p_shengri], Now())+ Int( Format(now(), 'mmdd') - Format( [p_shengri], 'mmdd') ) and p_age>='58'";
            DataTable dt = sqlh.ExecuteDataTable(sql);
            return dt;
这个计算好像没用,假设我把某人的出生日期设为1954-8-20,p_age不改就p_age=25时,最终显示的是25,好像计算没有用!各位很急啊,求帮助啊! --------------------编程问答-------------------- 取出来转换成datetime类型,然后用now-这个值,得到一个timespan,然后再转换成年 --------------------编程问答-------------------- string sql="select *,"+DateTime.Now.Year+"-Year(infoTime) as age from Persons"

前台绑定age 就是你要的年龄了 --------------------编程问答-------------------- infotiem  改成 p_shengri --------------------编程问答-------------------- string sql="select *,"+DateTime.Now.Year+"-Year(p_shengri) as age from Persons" --------------------编程问答-------------------- 呵呵,首先要谢谢你的回答,但是我按你说的修改后还报错“试图执行的查询中不包含作为合计函数一部分的特殊表达式'2013-Year(p_shengri)'.不知道怎么的情况! --------------------编程问答-------------------- 各位牛人们帮帮忙忙,真的有急用,如果回答的有用,我可以追加分的! --------------------编程问答-------------------- 各位大神帮帮忙忙啊,老板催得很急,在此先谢谢各位!拜托拜托 --------------------编程问答-------------------- 如果只是要简单的不需要精确年龄,天数
你可以取日期的年,再用当前SYSDATE的年相减即可,虚岁加1.
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,