假设有一个sql语句:select [fld1],[fld2],[fld3] from [tbl1] where vcItemNo='c00122' or vcItemNo = 'c00121';
我希望结果集中也是如此,先是显示c00122的内容,后显示c00121的内容ps:即我希望结果集的显示顺序由我安排!然后在dbgrid中显示。如何才能做到?谢谢!

解决方案 »

  1.   

    select [fld1],[fld2],[fld3] from [tbl1] where vcItemNo='c00122' or vcItemNo = 'c00121' order by vcItemNo desc;desc是降序,默认是升序
      

  2.   

    错了,错了,对不起,大概我没有表达清楚:请看ps那里,我希望的不是降升序,我希望能按照我的希望进行数据的显示,比如说:我希望先显示‘a00125’再显示‘a00124’再显示‘a00129’,它不是个降升序问题对不起各位,让各位白欢喜!
      

  3.   

    你的意思是否如此:用DBLOOKUPCOMBOBOX其listfieldindex and keyfield 为vcitemno然后有:
    procedure TForm1.DBLookupComboBox1Click(Sender: TObject);
    begin
    ADOQUERY1.CLOSE;
    ADOQUERY1.SQL.ADD('select [fld1],[fld2],[fld3] from [tbl1] where vcItemNo='+DBLookupComboBox1.Text);
    ADOQUERY1.OPEN;
    end;
    procedure TForm1.DBLookupComboBox1MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
    ADOQUERY1.CLOSE;
    ADOQUERY1.SQL.ADD('SELECT * FROM [tbl1] ');
    ADOQUERY1.OPEN;
    end;上面的要求设置主键,若不设,则不会按vcitemno降序排.
      

  4.   

    不是,我是用dbgrid显示数据的,因为我有一定的需要想让数据按照一定的顺序排列,但是这个顺序不是升序也不是降序,而是我在sql语句中的顺序。就是不知道如何实现。
      

  5.   

    你不是可以自己在双击dbgrid显示字段去调节显示顺序啊!
      

  6.   

    改变为:
    select [fld3],[fld2],[fld1] from [tbl1] order by vcItemNo desc;
      

  7.   

    各位,我的问题解决了,是在其他的社区的。。
    我想也许是我表达能力差,不过还是要谢谢大家!http://www.csdn.net/expert/Topicview2.asp?id=1032094