ADO数据库时间查询问题

a6713827 2006-04-15 12:03:29
先看看代码
if trim(edit2.Text)='' then
begin
ShowMessage('请输入日期');
edit2.SetFocus;
Exit;
end;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * from uselog where time1 >= #'+date1.Format(date)+''+time1.Format(time)+'''# and time2 <= #'+date2.Format(date)+''+ +''+time2.Format(time)+''#');
Open;
end;
不知道为什么老是提示出错
[Error] Unit1.pas(72): Missing operator or semicolon
[Error] Unit1.pas(72): Missing operator or semicolon
[Error] Unit1.pas(72): Missing operator or semicolon
[Error] Unit1.pas(72): Operator not applicable to this operand type
[Error] Unit1.pas(72): Missing operator or semicolon
[Error] Unit1.pas(73): ')' expected but identifier 'Open' found
那为大侠能帮帮我啊,我想了一天了,实在想不同,真着急啊!!!!
...全文
217 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
todouwang 2006-04-28
  • 打赏
  • 举报
回复
先把两个字符串想加后转化格式,应该可以使用cast('' as datetime)
access里还要写#,写参数格式也好,读起来要方便些,要不,引号比较麻烦
wudi_1982 2006-04-26
  • 打赏
  • 举报
回复
使用参数吧:
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * from uselog where time1 >= :param1 and time2 <= :param2');
Parameters.ParamByName('param1').Value := FormatDateTime('yyyy-mm-dd', date1.datetime);
Parameters.ParamByName('param2').Value := FormatDateTime('yyyy-mm-dd', date1.datetime);
Open;
end;
以上tim1,tim2为字符型,当为日期型时:
Parameters.ParamByName('param1').Value := StrToDate(FormatDateTime('yyyy-mm-dd', date1.datetime));
Parameters.ParamByName('param2').Value := StrToDate(FormatDateTime('yyyy-mm-dd', date2.datetime));

rock8283 2006-04-26
  • 打赏
  • 举报
回复
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * from uselog where time1 >= :param1 and time2 <= :param2');
Parameters.ParamByName('param1').Value := StrtoDate(trim(edit2.Text));
Parameters.ParamByName('param2').Value := StrtoDate(trim(edit2.Text));
Open;
end;
zgengle 2006-04-26
  • 打赏
  • 举报
回复
mark一下
a6713827 2006-04-16
  • 打赏
  • 举报
回复
谢谢上面那位大哥哥,一下就能用了!!!
Earthnut 2006-04-16
  • 打赏
  • 举报
回复
建议使用参数:
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * from uselog where time1 >= :param1 and time2 <= :param2');
Parameters.ParamByName('param1').Value := FormatDateTime('yyyy-mm-dd', date1.datetime);
Parameters.ParamByName('param2').Value := FormatDateTime('yyyy-mm-dd', date1.datetime);
Open;
end;
以上tim1,tim2为字符型,当为日期型时:
Parameters.ParamByName('param1').Value := StrToDate(FormatDateTime('yyyy-mm-dd', date1.datetime));
Parameters.ParamByName('param2').Value := StrToDate(FormatDateTime('yyyy-mm-dd', date2.datetime));
zhangl_cn 2006-04-15
  • 打赏
  • 举报
回复
date1.Format()这个方法是干什么用的?

换成FormatDateTime()试试
hanyel 2006-04-15
  • 打赏
  • 举报
回复
说明 sql的语句写的不对 呵呵
Error] Unit1.pas(72): Missing operator or semicolon 这个错误,一般都是后面少个分号
比如
begin
somecode1// 这句后面少了一个;
somecode2
end;
编译就会出现Error] Unit1.pas(72): Missing operator or semicolon

a6713827 2006-04-15
  • 打赏
  • 举报
回复
先看看代码
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * from uselog where time1 >= #'+date1.Format(date)+''+time1.Format(time)+'''# and time2 <= #'+date2.Format(date)+''+ +''+time2.Format(time)+''#');
Open;
end;
不知道为什么老是提示出错
[Error] Unit1.pas(72): Missing operator or semicolon
[Error] Unit1.pas(72): Missing operator or semicolon
[Error] Unit1.pas(72): Missing operator or semicolon
[Error] Unit1.pas(72): Operator not applicable to this operand type
[Error] Unit1.pas(72): Missing operator or semicolon
[Error] Unit1.pas(73): ')' expected but identifier 'Open' found
那为大侠能帮帮我啊,我想了一天了,实在想不同,真着急啊!!!!



实际上就这几句,上面那行都不同去看他,多写的!!!!

主要查询那4个控件里面的时间!!!
a6713827 2006-04-15
  • 打赏
  • 举报
回复
说明 sql的语句写的不对 呵呵
Error] Unit1.pas(72): Missing operator or semicolon 这个错误,一般都是后面少个分号
比如
begin
somecode1// 这句后面少了一个;
somecode2
end;
编译就会出现Error] Unit1.pas(72): Missing operator or semicolon


后面也有分号,那是整条语句.
SQL.Add('Select * from uselog where time1 >= #'+date1.Format(date)+''+time1.Format(time)+'''# and time2 <= #'+date2.Format(date)+''+ +''+time2.Format(time)+''#');

那为大侠能帮帮小弟啊????

着急啊1!!!!!!!!!!!
a6713827 2006-04-15
  • 打赏
  • 举报
回复
换成了FormatDateTime
他也有错误,
提示是[Error] Unit1.pas(72): Undeclared identifier: 'FormatDateTime'

2,498

社区成员

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

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