我的一个ADOQuery中的SQL语句如下:
select max(room.id) id,max(room.place) place,max(room.re) re
from room
where room.state=0
and room.room_level=:level
and (select count(sheet_items.id) 
     from sheet_items 
     where sheet_items.room=room.id
     and (not(sheet_items.start_time>:end_time or
          sheet_items.end_time<:start_time)))=0
group by room.id当用DBGrid用其中的数据时,老是提示:Parameter 对象被不正确的定义,提供了不完整或不一致的信息。

解决方案 »

  1.   

    select max(room.id) as id,max(room.place) as place,max(room.re) as re
    from room
    where room.state=0
    and room.room_level=:level
    and (select count(sheet_items.id) 
         from sheet_items 
         where sheet_items.room=room.id
         and (not(sheet_items.start_time>:end_time or
              sheet_items.end_time<:start_time)))=0
    group by room.id
      

  2.   

    你的Start_time和End_time的要在窗体中获得数据啊!
    AdoQuery.Parambyname("Start_time"):=...
      

  3.   

    把sql语句打印看看那出错了,或到数据库空中执行该语句看看是否正确