電腦愛好者,提供IT資訊信息及各類編程知識文章介紹,歡迎大家來本站學習電腦知識。 最近更新 | 聯系我們 RSS訂閱本站最新文章
電腦愛好者
站內搜索: 
當前位置:首頁>> Asp>>asp檢索備注型內容文本用like查詢提示內存溢出錯誤的解決辦法:

asp檢索備注型內容文本用like查詢提示內存溢出錯誤的解決辦法

來源:威易 | 2016-1-22 | (有1817人讀過)

錯誤提示: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-2019 電腦愛好者 版權所有 備案號:魯ICP備09059398號


内蒙古十一选五的走势图百度乐彩网