电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> Asp>>asp检索备注型内容文本用like查询提示内存溢出错误的解决办法:

asp检索备注型内容文本用like查询提示内存溢出错误的解决办法

来源:威易 | 2016-1-22 | (有2748人读过)

错误提示:Microsoft JET Database Engine 错误 '80040e14'


好久不玩ASP了,最近朋友的网站总是出现80040e14错误,我帮忙看了一下。其实ASP下出现80040e14错误一般有两个问题产生的:1、数据表名使用了保留字;2、一般出现在搜索like语句下,Access搜索日文片假名或者中文乱码情况下会出现这个错误。

我们先看一下错误提示:

Microsoft JET Database Engine 错误 '80040e14'

内存溢出

/admin_search.asp,行 74

\

我们可以根据代码具体错误来分析,下面我就来说一下这两种问题的解决办法:

1、数据表名或者字段使用了保留字

这个问题就比较简单了,因为不同数据库的保留字是不同的,不过常见的有:ADD、ALL、ALTER、AND、BETWEEN、COLUMN、Count、COUNTER、CREATE、DATE、DATETIME、DOUBLE、FUNCTION、GROUP、GUID、INDEX、INSERT、INTO、LEFT、NAME、REAL等等,实在太多了。

解决的办法就是将这个数据库表或者字段加上中括号“[]”就可以了,比如:

select * from [counter] where id=1 //这个是数据库表名

select [name], mobile * from addrbook //这个是字段

2、解决搜索like语句的错误

搜索中文乱码或者日文片假名可能会产生这个问题,尤其在Access数据库下。

一个简单的方法是:

把如下的语句:

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" 

实例

sql="select * from merinfo where mername like '%"&sousuo&"%' order by id desc"

换成

sql="select * from merinfo where  InStr(1,LCase(mername),LCase('"&sousuo&"'),0)<>0  order by id desc" 

经测试,可用,转载供其他朋友参考使用。



Asp热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号