procedure TFrmxmtj.BitBtn1Click(Sender: TObject); var date1,date2: string; begin date1:=edit1.text; date2:=edit2.text; adoquery1.close; adoquery1.clear; adoquery1.sql.add('select * from tablename where time between #'+date1+'# and #'+date2+'# '); adoquery1.open end;
这样的话你采用类于下面的查询 select * from tablename where DATEPART ( hour,你的日期字段)>9 and DATEPART (hour,你的日期字段)<12 得到9点到12点之间的记录
With Query1 do begin Closre; Sql.Clear; Sql.Add('SELECT * FROM TFWJ WHERE(RQ>'); Sql.Add(''''+DATETOSTRDateTimePicker1.Date)+'''') Sql.Add(') AND (RQ<'+''''+DateToStr(DateTimePicker2.Date)) Sql.add(''''+')') ; Open; end; 我这里可以用
在MSSQL中直接用><符号不就得了?
其他类推
var
date1,date2: string;
begin
date1:=edit1.text;
date2:=edit2.text;
adoquery1.close;
adoquery1.clear;
adoquery1.sql.add('select * from tablename where time between #'+date1+'# and #'+date2+'# ');
adoquery1.open
end;
select * from tablename where DATEPART ( hour,你的日期字段)>9
and DATEPART (hour,你的日期字段)<12
得到9点到12点之间的记录
begin
Closre;
Sql.Clear;
Sql.Add('SELECT * FROM TFWJ WHERE(RQ>');
Sql.Add(''''+DATETOSTRDateTimePicker1.Date)+'''')
Sql.Add(') AND (RQ<'+''''+DateToStr(DateTimePicker2.Date))
Sql.add(''''+')') ;
Open;
end;
我这里可以用