做一个合同管理系统,
在后台数据库中有“合同到期日”字段,里面存储如“02-12-12”等数据,
在前台界面中有一EDIT1可以让用户设定提醒日(如可设40天),
那么当我按下查询按钮后,程序自动将“合同到期日”中的日期加上提醒日中设的日期,然后和系统当前日期相比较,看其是否大于系统当前日期,如大于,说明此员工的合同即将到期,跳出消息框进行提醒,如不大于的话,则不进行任何处理
不知该怎么实现,希望高手能给出代码。谢谢了!

解决方案 »

  1.   

    if 合同到期日 + 40 < now then
      showmessage(合同到期);
      

  2.   

    if 合同到期日 + 40 〉 now then
      showmessage(合同到期);
      

  3.   

    我现在窗口上1个EDIT1(用于设定提醒日期,如可设40天)
    1个DBGRID1(当按下查询按钮后,用于显示符合条件的记录)
    1个查询按钮
    1个TQUERY和1个TDATASOURCE控件,都进行了绑定
    希望的效果是当按下查询按钮后,如果有符合条件的记录,用消息框提醒,并在DBGRID1中显示符合条件的记录
    我在查询按钮中的代码如下,运行是提示:invalid field name now.
    是不是那个now有问题?请高手指点procedure TForm1.Button5Click(Sender: TObject);
    var
    ss:string;
    begin
      ss:='select * from table1 where 合同到期日 + 40 > now';
      query1.Close;
      query1.SQL.Clear;
      query1.SQL.add(ss);
      query1.Open;
      dbgrid1.Visible:=true;
    end;
      

  4.   

    你用的什么数据库?
    我用ACcess测试都可以啊!
      

  5.   


    可以这样改
    ss:='select * from table1 where 合同到期日'+''''+edit1.txt+''''+ '>now‘;
    但是合同到期必须是int类型的,否则条件不对另外,我不明白的是你的now 是int类型的还是时间类型的,还是字符串类型的?
      

  6.   

    我的合同到期日是DATE型的,该则么办呢?
    那个NOW的类型是不是要先声明?
    真不好意思,我是初学者
      

  7.   

    now是"现在时间",不需要声明,直接使用
      

  8.   

    可以设置过滤啊,将符合条件的显示到dbgrid1即可
    当然查询也可
      

  9.   

    试试 table1应为表名如:aaa.db(aaa)ss:='select * from table1 where 合同到期日 + 40 > cast(' +FormatDateTime('YY''-''MM''-''DD',now)+ 'as date)'
      

  10.   

    试试 table1应为表名如:aaa.db(aaa)ss:='select * from table1 where 合同到期日 + 40 < cast(' +FormatDateTime('YY''-''MM''-''DD',now)+ 'as date)'
      

  11.   


    ss:='select * from table1 where 合同到期日 < cast(' +FormatDateTime('YY''-''MM''-''DD',now - 40 )+ 'as date)'
      

  12.   

    总是出现“invaild use of keyword
              Token:where”
    这是什么意思?
      

  13.   

    sql 语句不正确,你把你的sql语句在SQL Explorer中调试好了,再在程序中使用。
      

  14.   

    可能where 附近有语法错误
      

  15.   

    我用的是BDE的PARADOX数据库,怎么用SQL EXPLORER啊?
      

  16.   

    可以用的,SQL EXPLORER它就在DELPHI菜单下,打开之后你看看就会了,很简单的。里面可以调试SQL语句
      

  17.   

    我的数据库是用DATABASE DESKTOP做的PARADOX的本地数据库,当我新建一个数据库后,点击它,要我输入USERNAME和PASSWORD ,我没设密码啊
      

  18.   

    PARADOX本身就没有用户名和密码,你是用的BDE,如果你的BDE可以连接,SQL EXPLOR就可以连接上,不用用户名和密码的,你直接点确定就可以了。Delphi的BDE中有个DBDEMOS就是PARADOX数据库的例子,你可以先学习一下,不用用户名和密码的。