我建了一个表,有一个字段是’出生日期‘,类型是Date。现在我要查找一个日期,例如要找两个日期之间的某一天,在表单中,用query连接那个表,两个日期分别用DateTimePicker1,DateTimePicker2来表示,那表达式就应该是DateTimePicker1<‘所要找的日期’<DateTimePicker2,‘<’分别用combobox1,combobox2来表示,那么在这个条件下我应该怎么写那查询程序啊??
解决方案 »
- 如何编程实现展开合并多项式
- 熟悉WININET的朋友请进,关于函数HttpQueryInfo
- 调用vc制作的dll的问题
- 请高手给个例子,说明一下就是在什么情况下,用类是最合适的。。。。。
- 怎么更改应用程序的名称?
- 如何表示log以10为底,变量为n的算法啊!
- 谁能给我发一份Developer Express最新版本的控件包及其打印系统,谢谢。100分,不够再加
- 关于cxtreelist的显示问题
- 哪位高手能告之如何将:‘姓名 年龄 班级’这样一个字符串以一行3列的表格形式写入OLE WORD的文档里?
- 谁能帮我一下??
- 怎么向串口发送十六进制数据?????? 急急急!!!!一定给分!!!!
- 怎样给控件加上滚动条
如果还有其他的可能的那就分开写了
sql.add('.... where a'+combobox1.text+':aa'....);
parmeters.parambyname('aa').value:=datetimepicker1.date;
....
begin
with query1 do
begin
close;
sql.Clear ;
sql.Text :='select * from table where (sj'+combobox1.text+':dd) and (sj'+combobox2.text+':dd2) '
query1.ParamByName('dd').Value :=formatedatetime('yyyy-mm- dd',datetimepicker1.Date );
query1.ParamByName('dd2').Value :=formatedatetime('yyyy-mm-dd',datetimepicker2.date);
open;end;
end;
query.sql.add( sqlstr)
sqlstr:='select * from table where '+'出生日期'+(combobox1.text)+''''+datetostr(datetimepicker1)+''''+'and '+'出生日期'+(combobox2.text)+''''+datetostr(datetimepicker2)+'''';
query.sql.add( sqlstr)
'type mismatch in expression'.请问是哪里错了??
var a,b:tdatetime;
然后,你可以用过滤的方法来查询;
例如:你连接数据查询的ado为ado1,所要找的日期为d;
代码如下:
a:=DateTimePicker1;
b:=DateTimePicker1;
ado1.close;
ado1.commentext:='select * from table where d between formatedatetime('yyyy-mm-dd',a.datetime) and formatedatetime('yyyy-mm-dd',b.datetime)'
ado1.open;
begin
close ;
sql.clear ;
sql.add('select * from table where 出生日期 between :d1 and :d2') ;
parameters[0].value:=DateTimePicker1.date ;
parameters[1].value:=DateTimePicker2.date ;
prepared ;
open ;
end ;