你的ADOTable,ADOQuery都动态创建吧,不显示的就释放掉。

解决方案 »

  1.   

    可以考虑大家公用QUERY OR STOREPROCE 试下
    (减少控件同时又可检测是不是由于数据库连接造成的)不过一个窗口有十四层
    这样结构本不是很好
      

  2.   

    谢谢这位大侠,我的每一个ADOTAble,Query都有很多事件,不太好动态创建,能不能告诉我这是怎么回事呢?
      

  3.   

    大概不用动态创建,总结一下你数据表,对每个表格操作之前把connected设为true,操作之后就断开,或者用一个AdoConnection连到数据库,统一断开,不知道行不行
      

  4.   

    请问各位,是不是每打开一个ADOTable就建立一个数据库连接?在Table.CLose时这个连接释放他所占的内存吗?如果不释放的话那我这里岂不是打开了18个连接,哇,这下内存可就大了!哎,该怎么解决呢?
      

  5.   

    如果TQUERY,你可以设定.data为NIL
    另本人也用来1`0多个DATASET,四层,内存占用并不多。是不是每打开一个ADOTable就建立一个数据库连接?-----你应该用一个ADOCONNECT来连接,其他都用这个连接呀!
    好象CLOSE确实不释放已经取回的数据的,要设置DATA为NIL。
      

  6.   

    用完就用free释放,
    另外,如果你的数据库中有二进制大字段,建议用什么取什么,不要一次性取出。
      

  7.   

    上面的大哥都 给出办法了,不过我觉得当初你要是预计到有14个pagetab的话就不如用窗口,毕竟14个堆在一起不是很好看,以后 维护起来也难。
      

  8.   

    关于程序运行后内存占用过多的问题!不是内存占用过多,而是系统资源被占用,Win98的三项系统资源都少得可怜,你只要用幅大图片或是小动画都直接会影响系统资源比例,所以最大的可能性是出在系统图形资源上,可能在每个TabSheet上还都有图片要创建并显示,或者是有多线程造成的。