『Delphi』Delphi中按日期查询的解决办法

  Delphi中按日期查询的解决办法


时间:
2006.9.29    作者:Anytao

©2006 Anytao.com 转贴请注明出处,保留此信息

引言:

Delphi是开发桌面数据库程序最佳的选择之一,其快速的数据建模和集成数据开发控件,为数据库的开发提供了最佳的解决方案。

程序开发过程中,查询是数据库程序最基本的操作类型,以SELECT语句来实现是最好的方式,但是初级开发者常常在解决按日期查询的问题时,都会出现类型不匹配方面的异常问题,一时不得已解决。

基本信息

开发环境:Delphi工具,Object Pascal语言

技术要点:ADO数据操作,SQL查询

解决方案

可以有两种方案:

1 将日期转换为字符串型,确定是不能进行日期比较性的查询,比如要查询200691之前的内容时,这种方式就不可取。因此,我们关注的是不需要进行类型转换的实现方式。

2 不进行类型转换的日期查询办法。具体实现就以一个简单的例子为例吧。

   示例:查询今天之前交费的学生姓名。

 strSql:=Format('SELECT %S From % WHERE %s<%s',

                 ['Name','Student','JiaoFeiDate',

                 '#'+DateToStr(Now)+'#']);

 try

    ADOQuery.SQL.Add(strSql);

    ADOQuery.Open;

    ......

 except

    ......

 end; 

结束语

实现的重点就是在日期字段的前后加上'#'来处理。(红色标出)

注意,这里以Format函数来实现,可以很容易完成语句较负责的格式话输出,建议在程序中能常用。

希望各位博友,砖头与鸡蛋同在,我将努力在风雨中前行。                    Enjoy.

 

关于作者

数年学道,一朝醒悟,身于技术,心系天下。内专注于.NET,外切磋于Delphi,只身江湖于京城,志满筹。心若凭栏,以立业传道为己任;神思四海,为技术中华而躬身。

敬请关注Anytao.com。

 

©2006 Anytao.com 转贴请注明出处,保留此信息。

原文地址:https://www.cnblogs.com/anytao/p/518284.html