sql.add('select * from tablename where rq between '+''''+'1899/12/01'+''''+' and '+''''+'1900/12/22' +'''');
解决方案 »
- 关于DBGrid 计算字段
- 我在窗体上放了个button,然后view as text 就看到如下代码,请问这些代码在创建窗体中具体哪一步起的作用
- delphi7的主菜单能用其自带的控件做出来吗?
- 想用udp做一个通信软件,应该考虑什么?
- 救命!在Delphi中使用IBM Informix OLEDB Provider出报表时,数据小了10倍!
- 回答有分!!!
- 我用Memo提取了一段数据显示为一个十六进制数据,想保存十六进制的格式,请问如何保存,用什么格式保存??
- dbgrid在運行中怎樣才能加一項序號?
- 请教各位高人,在dbgrid中如何把焦点移到前一单元格.
- 一个幼稚问题?
- 请问哪位高手编过数据导入导出的程序!求源代码(尽可能给分)
- 怎样在sql server中得到表的字段数
begin
close;
sql.clear;
sql.Add('select * from employee where (hiredate>=:N1) and (hiredate<=:N2)');
parambyname('N1').AsDate:=strtodate('91-8-1');
parambyname('N2').AsDate:=strtodate('93-2-1');
open;
end;
如果是字符型的话可以用上面的代码;
如果是日期型的话:
sql.add('select * from tablename where str(year(getdate()),4)'+''''+'/'+''''+'(case when month(getdate())<10 then '+''''+'0'+''''+'str(month(getdate()),1) else str(month(getdate()),2) end)+'+''''+'/'+''''+'(case when day(getdate())<10 then '+''''+'0'+''''+'str(day(getdate()),1) else str(day(getdate()),2) end) between '+''''+'1899/12/01'+' and '+''''+'1900/12/22')
不过我觉得上面naughtyboy(淘气男孩)的方法更好
begin
close;
sql.clear;
sql.text:='select * from yourtable
where (yourfield>=:date1) and (yourfield<=:date2)';
parambyname('date1' ).asdatetime:=strtodate('1899-12-1');
parambyname('date2').asdatetime:=strtodate('1900-12-22');
open;
end;
date1:‘1899/12/01’
date2:‘1900/12/22’