我用一个datetimepicker控件,我打算在这个控件中给出一个时间,在数据表中检索距离这个时间最近的一个记录,所有记录中的表名字段是a2003-11-20这种形式,给即全是字符'a'加上时间字符串的形式。
假设先选择没有刚好等于这个时间的记录,
while query1.eof do
begin
datetimepicker.date:=datetimepicker.date-1;
sel:='a'+datetostr(datetimepicker.date);
query1.close;
query1.sql.clear;
query1.sql.add('select * from 记录表');
query1.sql.add('where 表名=(:表名)');
query1.paras[0].asstring:=sel;
query1.open;拼写可能没有拼对,因为delphi是可视化的,以上代码可以通过编译,运行也没错。
可是为什么我在datetimepicker中选择2003-12-19就找不到2003-12-01这条记录而是直接找到2003-11-25这条记录。
我已经设置属性为yyyy-mm-dd形式,数据表中也有2003-12-01这条记录,
请问各位高手是怎么回事?望详细赐教,分要多少给多少。
假设先选择没有刚好等于这个时间的记录,
while query1.eof do
begin
datetimepicker.date:=datetimepicker.date-1;
sel:='a'+datetostr(datetimepicker.date);
query1.close;
query1.sql.clear;
query1.sql.add('select * from 记录表');
query1.sql.add('where 表名=(:表名)');
query1.paras[0].asstring:=sel;
query1.open;拼写可能没有拼对,因为delphi是可视化的,以上代码可以通过编译,运行也没错。
可是为什么我在datetimepicker中选择2003-12-19就找不到2003-12-01这条记录而是直接找到2003-11-25这条记录。
我已经设置属性为yyyy-mm-dd形式,数据表中也有2003-12-01这条记录,
请问各位高手是怎么回事?望详细赐教,分要多少给多少。
解决方案 »
- SQL根据指数和幂求底数,
- 找几个人,毕业的学生也可 [email protected]
- 散粪啦~~~~~
- 请问如何利用日期进行排序,大小如何比较
- 如何在DBGRID或者STRINGGRID中实现用滚轮进行翻页的功能,就象浏览网页一样?菜问题一个~
- 菜问题,为什么我执行后,临时表没有删除,并且如何判断临时表是否存在
- 关于读取注册表的问题
- 如何在delphi中调试 .dll.ocx 等文件(在线等)
- 名词解释:每题10分~~~~~
- 用ADO控件通过ODBC连接EXCEL文件可以连通,但为什么dataset里看不到数据,应该如何正确设置呢?
- 请问如何在memo中输入分号字符 ' 呢.
- DBGridEh为何没法实现多选??郁闷死了快
1.找到比这个日期大的所有记录排倒序,取最后一条记录的日期
2.找到比这个日期小的所有记录排倒序,取最后一条记录的日期
3.用DATEDIFF函数分别与两个日期去比较出较小值的一个,就是你所想得到的记录