如果把‘09/12/2002’前加上个strtodate,是不是可以,我想你查询的字段类型应该和给出的条件类型一致。
解决方案 »
- 请问不通过循环遍历,如何获得进程启动、退出信息。
- delphi里构建和编译的区别是什么?
- 程序出错:Corrupt table/index header, 请问什么原因?如何解决?
- 组件开发问题 急求
- TDBGridEH问题,怎样将dbgrideh是footer valuetype为fvtsum 的sum值从dbgrideh中取出。
- 如何在一个函数单元(MyFunUnit)中写一个所有引用Form的KeyDown事件?
- 在线等待,一个简单的问题!
- 过年了,还得找大这帮个忙?关于动态生成Image控件后的Mouse动做?
- 我要被炒了,呜!再问delphi+sqlserver安装制作。
- 求DELPhI XE5 控件,大牛来吧,知道你是好人.
- 电脑终于中毒,求助.
- copymemory的问题,菜菜的问一下。
小于当前日期的当然是全部记录了
先写一个函数:
function CreateGlobalTSQLString(ADateTime: TDateTime): string;
var
strDestDateTime: string;
begin
strDestDateTime := FormatDateTime('yyyy-mm-dd hh:mm:ss.zzz', ADateTime);
Result := 'CONVERT(DATETIME,''' + strDestDateTime + ''',20)';
end;然后在生成sql语句时这样写:
ADODataSet1.CommandText := 'SELECT * FROM 订单 WHERE 订购日期 BETWEEN '+
CreateGlobalTSQLString(DateTimePicker1.Date) + ' AND ' +
CreateGlobalTSQLString(DateTimePicker2.Date) + ' ORDER BY 订购日期';这样就不用考虑DateTimePicker的日期格式和库中日期字段的格式的不同了。实际上这样处理就是告诉sql server我给你传进去的日期是什么格式的,剩下的事就是sql server的事了。我只在sql server 2000上测试通过。有兴趣的朋友可以试试其它的数据库。