我从数据库里取得一个日期值,并把值赋值给日期变量 td1,类型是TDateTime,例如它的值是2006-11-5 ,然后我想从某个表格里面读取所有大于2006-11-5 7:00:00的数据,于是我这样处理td1,td1=FormatDateTime("yyyy-mm-dd 7:00:00",td1);
然后我代码里面的sql代码是这样写的:
ADOQuery2->SQL->Add("select * from TimeClk where CompnyID='"+calculateID+"' and iotime>#"+DateTimeToStr(td1)+"# order by iotime");
总是提示"不正常地定义参数对象",IOTime是日期字段来的,里面的数据都是 年-月-日 小时:分钟:秒 这样的格式,请问应该怎样处理td1这个日期变量才能达到搜索出大于指定日期早上7:00的记录?
然后我代码里面的sql代码是这样写的:
ADOQuery2->SQL->Add("select * from TimeClk where CompnyID='"+calculateID+"' and iotime>#"+DateTimeToStr(td1)+"# order by iotime");
总是提示"不正常地定义参数对象",IOTime是日期字段来的,里面的数据都是 年-月-日 小时:分钟:秒 这样的格式,请问应该怎样处理td1这个日期变量才能达到搜索出大于指定日期早上7:00的记录?
ADOQuery2->SQL->Add("select * from TimeClk where CompnyID='"+calculateID+"' and iotime>#2006-11-4 7:00# order by iotime");
也是不行,一样提示不正常定义参数
sql:='select * from tableneme from datefield>:temp';
Params.ParamByName('date2').AsString:=formatdatetime('yyyy-mm-dd hh:nn:ss',strtodatetime('2006-11-5 7:00:00'));
sql:='select * from tableneme from datefield>:temp';
Params.ParamByName('temp').AsString:=formatdatetime('yyyy-mm-dd hh:nn:ss',strtodatetime('2006-11-5 7:00:00'));//试试看
ADOQuery2->SQL->Add("select * from TimeClk where CompnyID='"+calculateID+"'
and iotime>cdate('2006-11-4 7:00') order by iotime");//用cdate函数
query1.SQL.Add('select * from time1 where time>:time2');
query1.Parameters[0].Value:=strtodatetime('2006-11-14 10:24:30');
query1.Open;