日期:2014-05-17  浏览次数:20795 次

问个c#、sql的问题,将数据库中的日期加上2年少一个月。即23个月时与当前时间比较。
其实想做个 到期提醒 。

我现在搞不起来的是日期这块:。

比如当前数据库日期是2013年2月1日。2年后,提前一个月提醒。即,2015年1月1日,与当前系统日期比较,当系统日期是2015年1月1日时。就显示到期的合同信息。

请问,如何将数据库中的2013年2月1日 加23个月呢?再与当前比较呢?求高手辅助一下。多谢。

        public DataSet GetDataSetHT_daoqi()
        {
            string dt = DateTime.Now.ToString("yyyy-MM-dd");
            return data.RunProcReturn("select BH as 编号,xm as 姓名,gh as 工号,sybm as 部门,xl as 学历,zc as 职称,xx as 学校,djrq as 协议日期,xiyiqi as 合同期 from T_cdqhf_tb_zcHt where djrq ORDER BY ID", "T_cdqhf_tb_zcHt");
        }


红色的的地方怎么写? 求帮助。。。

------解决方案--------------------
用DATEADD
------解决方案--------------------
DATEADD(MONTH,23,日期欄位)
------解决方案--------------------
引用:
 网上看到datediff,但又觉得不大好用,合同日期是不固定的啊。求高手教导一下。。。


这个不好用,就用DATEADD喽,只有这两种方法,一个就是查询出来在代码中加 23个月 再去比较数据库,再有就是用DATEADD(m,23,字段名)


------解决方案--------------------
public DataSet GetDataSetHT_daoqi()
         {
             string dt = DateTime.Now.AddMongths(23).ToString("yyyy-MM-dd");
             return data.RunProcReturn("select BH as 编号,xm as 姓名,gh as 工号,sybm as 部门,xl as 学历,zc as 职称,xx as 学校,djrq as 协议日期,xiyiqi as 合同期 from T_cdqhf_tb_zcHt where djrq>@dt ORDER BY ID", "T_cdqhf_tb_zcHt");
         }