系统提示不是处于编辑状态或者是插入状态!
因为选出来的时候使用了order by语句,
那么怎么实现在dbgrid的名次列能够显示对应的
名次呢?

解决方案 »

  1.   

    如果是oracle直接用sql语句就可解决
    for example
    select rownum,id,name, from student order by  desc;
    其中rownum为oracle自己的列,表示该记录在结果集中的序号。
      

  2.   

    如果你所在数据库不支持该sql语句,只好用下列办法了
    假设sql语句为select 0 order,id,name, from student order by  desc;
    //最开始不知道具体名次,故用0代替,其中order为别名
    程序段如下
    adoquery1.first;
    while not adoquery1.eof do
    begin
    adoquery1.edit;
    adoquery1.fieldbyname('order').asstring:=adoquery1.recno;
    adoquery1.post;
    adoquery.next;
    end;
      

  3.   

    要对已排序的QUERY赋值需使用updatesql
    请搜索相关帖子