本人用QUERY连DBGRID,本来可以,
但是ORDER BY后就不行了。
不用就一切正常。且数据库和DBGRID同步修改。
请问怎样设置,QUERY才能摆脱这个ORDER BY 的限制。因为我要排序显示在DBGRID里`~
请各位务必帮忙!
小弟这里先谢过了!

解决方案 »

  1.   

    query控件不支持order by 子句???不会吧~~是不是你写错了~
    把sql语句部分帖出来啊~
    修改同步你需要修改后马上刷新dbgrid的数据集~
      

  2.   

    不肯定没错,
    select *
    from ckf
    order by f_date
    肯定没错,因为DBGRID中可以显示,但是不能修改。
    如果去掉ORDER BY F_DATE后,不仅可以在DBGRID中显示,且可以直接修改。
    所以我想知道是不是 修改TQUERY有条件限制?
      

  3.   

    肯定是你的SQL语句写错了。不可能不能Order by的。
      

  4.   

    没有出现任何错误提示,就是DBGRID中修改不能。
    去掉ORDER BY  就可以修改。
      

  5.   

    明白,你将TQuery的RequestLive设置成True就可以了。
      

  6.   

    请各位不要再说SQL写错了,因为DBGRID可以显示!证明SQL没有错误,而且也可以排序,
    就是排序后的DBGRID不能再修改了。
      

  7.   

    REQUESTLIVE 早就是 TRUE了,
    因为不用ORDER BY 的时候可以修改。用了ORDER BY后,REQUESTLIVE同样是TRUE,
    可以不能修改
      

  8.   

    我刚刚试过了,好使
    Win200 + D7 + Access;Query + DataSource + DBGrid;Query.RequestLive := True;显示,修改都没有问题的。
      

  9.   

    如果大家有空,
    请大家试一下,
    真的,加WHERE没问题,
    加ORDER BY 就这个样子。
    难道还有其它设置,我查了7本书都没查到原因,只是说REQUESTLIVE有限制的,
    有的时候为TRUE,一样不能修改。
    但是什么条件,书上面没提,难道ORDER BY也是条件之一?
    郁闷,我又没用GROUP BY,ORDER BY 应该对数据库影响不大呀,
    因为SQL本身对数据表没有位置概念,那我排序对数据表也应该没有影响呀!?
    所以很郁闷!!!
      

  10.   

    哎~你不早说可以排序~
    那怎么说orderby就不行了啊~为什么不能修改我就不知道了,我没试过,没发言权了~
      

  11.   

    谢谢你,xuejinlong(垃圾)
    你的SQL里有ORDER BY 吗?
      

  12.   

    ORDER BY 某字段
    请加上看看。
      

  13.   

    当然有order by呀
    select Name,Unit From BomTable order by Name
      

  14.   

    什么不能再修改?
    你建两个button
    一个desc
    一个asc
    看看怎么样
      

  15.   

    或许你的SQL给出字段列表会好吧,去掉那个*
      

  16.   

    重申:
    Query + DataSource + DBGrid;
    Query.RequestLive := True;
    条件下: SELECT * FROM CKF 可以在DBGRID中修改,
    如果将SQL改为:
     select * from ckf order by f_date 在DBGRID中显示正常且排序正常。
    可是在DBGRID中不能修改了。
    这个时候,Query.RequestLive := True也是一样的;
    所以,如何让DBGRID中依然可以修改?需要那些设置?
      

  17.   

    xuejinlong(垃圾)
    是真的吗?
    可是我的确实不行呀,我的是DELPHI5,难道和版本有关?还是和设置有关?
      

  18.   

    win2000 + D5 + Access
    Query + DataSource + DBGridSQL := 'Select * from BomTable order by ID';真的好用,不骗你的,你是不是设置了别的什么都西呢?很痛苦是不是。
      

  19.   

    Win2000 + D5 + MS SQL Server 7.0
    Query + DataSource + DBGridSQL := 'select * from IniTable order by IName';也好用,你用什么数据库呢?
      

  20.   

    哦,多谢,刚才总是“该页无法显示”,我的ADSL呀~我用的是FOXPRO数据库,难道和这个有关系?