我用主窗体的ADOQuery模糊查询access数据库的表 table1 查找出所有包含 字符串A  或字符串B 或字符串C... 查找的条件在另一个窗体的ListBoxl里面 点击这个窗体里的Button1  则主窗体的ADOQuery1查询  SQL语句为 'Select * from table1 where XX like Qute('$'+ ListBox1.items[1]+'$') or XX like Qute('$'+ ListBox1.items[2]+'$') + ...'
当数据库数据少的时候查询没有问题  可是数据量大了 查询就会提示‘内存溢出’烦请各位高手帮忙!!!

解决方案 »

  1.   

    大到多大啊?好象ListBox有限制的~
      

  2.   

    在winxp下也不行  查询条件一般为10个左右
      

  3.   

    跟踪一下,是不是OPEN的时候出错?
      

  4.   

    ACCESS是小型数据库,既然是小型就有他根本的局限性
      

  5.   

    我跟踪了一下  就是open的时候出错   不知道什么原因  要是sql语句出的问题  那为什么有的时候正常??
      

  6.   

    同样的语句,换个大一点的数据库试试,例如SQL SERVER
      

  7.   

    用sqlserver没有必要   数据最多也就20000条
      

  8.   

    数据库本身的问题,如果SQL Server可以设置内存的大小
      

  9.   

    'Select * from table1 where XX like Qute('$'+ ListBox1.items[1]+'$') or XX like Qute('$'+ ListBox1.items[2]+'$') + ...'
    ------------------
    改成这样试Select * from table1 where XX like Qute('$'+ ListBox1.items[1]+'$') 
    union
    Select * from table1 where XX like Qute('$'+ ListBox1.items[2]+'$') 
    union
    Select * from table1 where XX like Qute('$'+ ListBox1.items[3]+'$') 
    .
    .
    .
      

  10.   

    觉得还是sql有问题
    为什么一次要查询那么多的条件呢?
    不能分类更细致吗?
      

  11.   

    应该是Access数据库本身的问题吧.
      

  12.   

    access的问题,对于备注型字段,如果有非标准字符含在里面,就会提示内存溢出