我不管是用,adoconnection1.GetFieldNames()
 
adotable1.Fields[icount].DisplayName
aquery1.Fields[i].AsString 
出来的字段结果都给以开头字母排了序
这样就与数据表中字段顺序不一样了
这问题我一天之内第三次问了,
就没有能回答我的吗?
各位高手,一定要不惜赐教啊
我认为应该可以解决的,不然DBgrid怎么有能顺序的显示字段啊
肯定是我的方法不对
小弟现在跪求答案了

解决方案 »

  1.   

    有排序还不好啊,你可以设置一个ID字段的嘛,查询的时候按照这个ID字段去排序.然后你想要的其他字段想咋样就咋样,可以不按顺序.
      

  2.   

    http://topic.csdn.net/u/20090320/18/26c50efc-b998-43b6-9596-03ef800d51db.html
    之前发的帖子
      

  3.   

    如果什么排序都不加,应该是和数据库中表顺序是一样的。你看下是不是你用的Grid的Sort属性设了。具体属性名不记得了
      

  4.   

    我把字段放在Cecklistbox里的,sort属性设置的是false;
    都试过了
      

  5.   

    排序可以写在SQL语句里面,看你对哪个字段排序罗
      

  6.   


    select * from syscolumns where id  = object_ID('表名')
      

  7.   


    var
        a : TStringList;
      A := TStringList.Create() ;
      ADOQuery1.SQL.Text := 'select * from Receipt';
      adoquery1.Open;
      a.Sorted := false;
      adoquery1.GetFieldNames(a);
      showMessage(A.Text);
     并没有排序
      

  8.   

    for i:=0 to aquery1.Fields[i].count-1 do
      ss:=aquery1.Fields[i].FieldName;  //ss就是你要的结果
      

  9.   


    不好意思,写错了:
    for i:=0 to aquery1.Fields.count-1 do
    ss:=aquery1.Fields[i].FieldName;  //ss就是你要的结果