VB中
1。當我用此語句時:select * from infotab 正常。2。而當我用此語句時:select * from infotab where infotitle like '%暑假%' 時,則顯示記憶體不足。將上面第2條語句復制至Access中,並將 % 改為 * ,則可正常運行。infotab記錄數不多,幾百條左右,但內容都較長,如infotitle就為長度200的文本型字段。謝謝指教 並 重分酬謝 著!

解决方案 »

  1.   

    //2。而當我用此語句時:select * from infotab where infotitle like '%暑假%' 時,則顯示記憶體不足。這個語句在sql server2000中沒有錯,在ACCESS 2000中出錯說明是ACCESS 2000不支持用%
      

  2.   

    不对呀,我也是在ACCESS2000用%的,没有问题啊。
      

  3.   

    Access用*号,而其他的数据库用%
      

  4.   

    ///Access用*号,而其他的数据库用%
    也不一定,关键是看你ACCESS有没有设置92-SQL兼容
      

  5.   

    楼主是不是在编程的时候同时开了十个3DMAX啊?
      

  6.   

    select * from infotab rs.filter = "infotitle like '%暑假%'"
      

  7.   

    不关语句的事情。是你的记忆体快不足了,你换个2G的内存怎么用都没问题,呵~
    //这个也没办法解释呀,为什么select * from infotab返回的记录多反而没有问题呢?难道是因为,用like比对的时候,infotitle字段太长引起的问题?
      

  8.   

    select * from infotab 并非将所有的表中信息都 Flush 到内存中。所谓游标就是一个滑动窗口,仅仅存放有限的内容,其余是靠虚拟内存的磁盘交换来支持的。而 like 比对的时候需要另开缓冲区,且遍历所有记录。情况大大不同了。其实 SQL 语句是由 OLEDB 的驱动程序来执行的。它对内存的消费可能远大于 Access 程序吧(因为它要支持多种数据库)。