你要用来干什么?
如果只是一个record,那么即使牵扯不到这种问题;如果用结构数组,你是怎么读入的数据?那么建数据库得了,很简单,这个结构数组怎么保存?存入到数据库中相应的数据库引擎已经对数据库进行了索引,不管你是什么商业化的数据库!关于数据库索引的效率问题,你可以看Oracle方面的书,机械8本的那一套,总共一万多爷!
理论方面的问题去查找EI(工程索引!),如果你在大一点的地方或者重点大学应该有这些资料!

解决方案 »

  1.   

    这还用说,肯定是数据库方式了!
    组合查询用Locate(),具体看帮助!
      

  2.   

    在内存中存放/查找数据,简单的方法是排序/二分查找
    C的函数库中有现成的实现,qsort和bsearch,很方便如果再先进一点可以使用微软COM+系统中的IMDB(内存数据库)技术,
    它将海量的经常需要查询的数据装入内存数据库,可以大大提高查询
    速度,编程接口使用通用的OLE DB
      

  3.   

    多谢,能不能说的更为详细点! COM+系统中的IMDB(内存数据库)技术怎么使用?
      

  4.   

    广告时间:
    大家去:http://www.csdn.net/expert/topic/134/134766.shtm
    或者去:http://ifree.533.net/绝对精彩!不能错过!
      

  5.   

    对不起,各位,我想从VC论坛转到Delphi论坛,How can I do it?
      

  6.   

    你的意思可能是要在内存中建立一个内存表,查询的时候,可以临时将一些数据读入到内存表中,使用的时候很方便。内存表网上有很好的控件,不过可以自己编写,(请参考《Delphi5 开发人员指南》),内存表的父类是TdataSet可以不需要BDE就行了,TDataset类你可以象数据库一样操作,如果是自己设计的内存表,数据源可以不是数据库,可以是文件等,关键是你定义的数据块的类型。^_^
      

  7.   

    thanks,哪里有《Delphi5 开发人员指南》下载