网站建设技术团队
解决错误 80040e14内存溢出
  • 日期 : 2012-05-07

当字段内包含26个日文字符任意一个多个时,就会导致在执行SQL语句中包含了

[字段] like '%aaaaa%' 或 inStr(1,[字段],'aaaaa',1)>0

这样的查询时,毫无道理的出现了



"Microsoft JET Database Engine 错误 '80040e14' 内存溢出" 的错误

其他Jet SQL函数命令未作测试,大概与字符搜索定位匹配相关的都可能出错

搜索相关资料得知被微软工程师证实是Access的bug



1.一个简单的方法是:

把如下的语句:

Sql = "select * From [tbname] Where Title like '%"&keyword&"%' order By id Desc"

换成:

Sql = "select * from [tbname] where InStr(1,LCase(Title),LCase('"&keyword&"'),0)<>0 order by id desc"



2.写一段代码把含有26个片假名的条目搜索出来,或者老老实实查找 删除条目即可