请问是不是需要按日期查找数据库里的内容时,其库里关于日期的字段必须为Date类型?但运行的时候总是说类型不匹配?为什么?我都要疯了!

西山小月 2001-03-30 12:09:00
请问是不是需要按日期查找数据库里的内容时,其库里关于日期的字段必须为Date类型?但运行的时候总是说类型不匹配?为什么?我都要疯了!如果将数据类型改为Alpha,倒可以运行,但出来后什么查询到的数据都没有,为什么…………!

我主要是想查询生日情况,用两个Datetiempicker来确定一个范围,在从数据库里查找满足这个范围内的记录,请说的详细一点!谢谢!只有那么多分了!
...全文
130 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
forgot2000 2001-03-30
  • 打赏
  • 举报
回复
假设你的字段名为Mydate。SQL.ADD(format('Select * from table1 where Mydate between "%s" and "%s"',[datetimetostr(Datetimepicker1.date),datetimetostr(Datetimepicker2.date)]));试一试。
renzhm 2001-03-30
  • 打赏
  • 举报
回复
这是个常用的查询方式:我从来没遇到过类型不匹配的问题

var
BeginTime,EndTime,str_sql:string;
begin
BeginTime:=FormatDateTime('yyyy-mm-dd',DtpBegin.date);
EndTime:=FormatDateTime('yyyy-mm-dd',DtpEnd.date);

str_sql:='select * from tablename '+
'where (生日字段 between '''+BeginTime+''' and '''+EndTime+''')';
with Query do
begin
close;
sql.clear;
sql.add(str_sql);
open;
end;
end;
西山小月 2001-03-30
  • 打赏
  • 举报
回复
哦,对不起,出来了,西西,给分罗!!!
西山小月 2001-03-30
  • 打赏
  • 举报
回复
我想给你们分,但怎么没有给分的窗口出现,只有这个回复的窗口???
wyj 2001-03-30
  • 打赏
  • 举报
回复
用FILTER:(假设你的生日字段名是Birthday)
with Table1 do
begin
Filtered:=False;
Filter:='Birthday>='+DateToStr(DateTimePicker1.Date)+' and Birthday<='+
DateToStr(DateTimePicker2.Date);
Filtered:=True;
end;
manjel 2001-03-30
  • 打赏
  • 举报
回复
我不太最sql我用的是ttable控件我是這樣做的你參考一下
字段為字符型
table1.filtered:=true;
table1.filter:='mydate>='+chr(39)+datetostr(datetimepicker1.date)+chr(39)+'and mydate<='+chr(39)+datetostr(datetimepicher1.date)+chr(39);
直接顯示table1中的數据就行了
table1.filter:='';

LI_xiufu 2001-03-30
  • 打赏
  • 举报
回复
回复时没看到Dephli先生已回答
LI_xiufu 2001-03-30
  • 打赏
  • 举报
回复
最好用日期型datetime或smalldatetime,有了日期型可随心所欲的转化为字符型等,但反之易出错。
procedure displayinfo;
var bdate:string;
edate:string;
begin
bdate:=formatdatetime('yyyy-mm-dd',DateTimePicker1.Date);
edate:=formatdatetime('yyyy-mm-dd',DateTimePicker2.Date);
str_sql:='select birthday from tablename where birthday between ('''+bdate
+''','''+edate+''')';
query1.Active:=false;
query1.sql.Clear;
query1.sql.Add(str_sql);
query1.Active:=true;
end;

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧