不用索引,用SQL语句
TQuery -- TUpdateSQL 方式处理

解决方案 »

  1.   

    这是必然的
    解决的唯一办法就是加primary key
    设索引为自维护
    之后就好了
    或者用我前面讲的办法
      

  2.   

    用ClientDataSet作为桥梁怎么样呢?考虑一下!
      

  3.   

    设索引又不要求字段的数据不能重复。只有设了primary key时,才要求
    不能重复。你设一个索引,使用TTable打开数据库。
    Table1.IndexName := IndexName;
    Table1.Active := True;
      

  4.   

    真是谢谢各位了,我还有一点搞不清楚,次索引怎么理解,你们讲的设索引是怎么设置的,我一直都认为索引就是设置的 primary key    如果不设置 
    primary key 该怎么设置索引呢
      

  5.   

    运行Borland的工具Database Desktop,打开你的表,选择菜单项Table/
    Restructure,在右边的 Table Properties 里选择Secondary Indexes,
    然后选择按钮Define,出来的对话框,左边是可用的字段,选择要作为索引
    的字段(可以是多个字段),然后添加到右边。下面的 Index Options 里,
    不要选择 Unique,这样字段的内容就可以重复了。还有其它三个选项,你
    可以根据你的要求来选取或不选取他们。
      

  6.   

    那么排序时是  Order by (FieldName) 还是 Order by (IndexesName)
      

  7.   

    对于 Pardox 表,要使用次索引,不能使用SQL语句。用SQL的ORDER BY语句,
    不会自动使用索引。上面我不是已经说了嘛,用TTable控件。在打开Table之
    前,指定要使用的索引名。
    Table1.IndexName := IndexName;
    Table1.Active := True;
    如果想要指定条件的话,可以使用 TTable 的属性 Filtered 及 Filter。
      

  8.   

    我比较喜欢用SQL查询数据,
    而用Query.FieldByName('FieldName').as... := ... 操作数据。
    所以   jishiping(JSP 季世平)  兄的方法我不喜欢用,难道就没别的办法了?
    是不是SQL无法按次索引操作
      

  9.   

    那么用Query控件 要使数据表排序后还能对数据表操作该怎么办(请具体点)
      

  10.   

    那就没有办法了,最多就是 Focus(老鱼) 说的,主索引由多个字段组成。
    其实,对于Pardox数据库,用TTable比用TQuery的效率要高。