问题如下:
   有一合同管理程序,要求能在合同到期前的一个月报警提示.
   现合同到期日期字段为COMPACT_ID.现在要求从数据中提取出这个字段然后与系统时间作比较.如果符合要求(到期前的一个月).进行提示.然后循环遍历数据库进行判断.符合条件的显示出来.直到没有符合的条件为止.   谁有这方面的经验.帮帮我.分要多少给多少.

解决方案 »

  1.   

    大致我方法我明白一点.我想到了以下两个方法.1\将这个日期型字段提出来.转成字符串型.比如1999-08-06.然后截取前四位.加上合同的年数.比如两年.就是1999+2=2001.同理.月份减1 .这样就是合同到期的时间.进行判断比较..关键的问题是.字符串截断这里用什么函数.?????.然后遍历.遍历用什么方法????语句如何写????2\用decodedate(日期字段,year,month,date)分解这个日期.然后用encodedate(year+年份,month-1,date)合并这个日期.然后同理跟上边这样比较.还是这个问题.到这一步怎么写.还有在这里两个日期型数据能作比较吗?如果不能怎么做???????
      

  2.   

    你用什么数据库做的。
    很多数据库有比较月份的功能呀,
    如MSSQL 中有datediff(getdate(),compact_ID,mm)<=1
    采用短信提示或系统自动报警都可以呀。
      

  3.   

    1、截取用
    copy(s,0,4);
    遍历用query1.sql.Text := 'selecet * from table ';
    query1.open;while not query1.eof do
    begin
      aa := Query.fieldbyname('FieldName').asstring;
      Query1.next; 
    end;2、用日期可以直接比较,你只要月减1,注意要判断,如果月是1的话,是前一年的12月份
      

  4.   

    谢谢ljmanage(过客) 的答案.当然也谢谢其它的人.100分都给你了.