procedure TForm2.DBGrid1TitleClick(Column: TColumn);
begin
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Text:='select * from maintable order by "'+ column.FieldName +'"';
  adoquery1.Open;
end;代码如上,却没起作用?

解决方案 »

  1.   

    procedure TForm2.DBGrid1TitleClick(Column: TColumn);
    begin
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.add('select * from maintable order by'+''''+ column.FieldName +'''';
    adoquery1.Open;
    end;
      

  2.   

    procedure TForm2.DBGrid1TitleClick(Column: TColumn);
    begin
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.add('select * from maintable order by '+ column.FieldName) ;
    adoquery1.Open;
    end;
      

  3.   

    adoquery1.Open 这一句后面加上
    dbgrid.datasource:=...........(adoquery1对应的datesource)
      

  4.   

    adoquery1.SQL.Text:='select * from maintable order by "'+ column.FieldName +'"';
     dbgrid直接连的adoquery吗?
      

  5.   

    dbgrid连datasource,datasource连adoquery,adoquery连adoconnection
      

  6.   

    dbgrid连datasource,datasource连adoquery,adoquery连adoconnection
    是这样的dbgrid可以显示出数据库内容
      

  7.   

    只是想排序的话,DBGRID的 OnTitleClick 事件中    AdoQuery1.Sort:=Column.FieldName+' DESC';