解決ASP下Microsoft JET Database Engine 錯(cuò)誤 '80040e14'的方法

2014-07-18 10:12:36來(lái)源:威易網(wǎng)作者:icech

好久不玩ASP了,最近朋友的網(wǎng)站總是出現(xiàn)80040e14錯(cuò)誤,我?guī)兔戳艘幌隆F鋵?shí)ASP下出現(xiàn)80040e14錯(cuò)誤一般有兩個(gè)問(wèn)題產(chǎn)生的:1、數(shù)據(jù)表名使用了保留字;2、一般出現(xiàn)在搜索like語(yǔ)句下,Access搜索日文片假名或者中文亂碼情況下會(huì)出現(xiàn)這個(gè)錯(cuò)誤。

好久不玩ASP了,最近朋友的網(wǎng)站總是出現(xiàn)80040e14錯(cuò)誤,我?guī)兔戳艘幌。其?shí)ASP下出現(xiàn)80040e14錯(cuò)誤一般有兩個(gè)問(wèn)題產(chǎn)生的:1、數(shù)據(jù)表名使用了保留字;2、一般出現(xiàn)在搜索like語(yǔ)句下,Access搜索日文片假名或者中文亂碼情況下會(huì)出現(xiàn)這個(gè)錯(cuò)誤。

我們先看一下錯(cuò)誤提示:

Microsoft JET Database Engine 錯(cuò)誤 '80040e14'

內(nèi)存溢出

/admin_search.asp,行 74

\

我們可以根據(jù)代碼具體錯(cuò)誤來(lái)分析,下面我就來(lái)說(shuō)一下這兩種問(wèn)題的解決辦法:

1、數(shù)據(jù)表名或者字段使用了保留字

這個(gè)問(wèn)題就比較簡(jiǎn)單了,因?yàn)椴煌瑪?shù)據(jù)庫(kù)的保留字是不同的,不過(guò)常見(jiàn)的有:ADD、ALL、ALTER、AND、BETWEEN、COLUMN、Count、COUNTER、CREATE、DATE、DATETIME、DOUBLE、FUNCTION、GROUP、GUID、INDEX、INSERT、INTO、LEFT、NAME、REAL等等,實(shí)在太多了。

解決的辦法就是將這個(gè)數(shù)據(jù)庫(kù)表或者字段加上中括號(hào)“[]”就可以了,比如:

select * from [counter] where id=1 //這個(gè)是數(shù)據(jù)庫(kù)表名

select [name], mobile * from addrbook //這個(gè)是字段

2、解決搜索like語(yǔ)句的錯(cuò)誤

搜索中文亂碼或者日文片假名可能會(huì)產(chǎn)生這個(gè)問(wèn)題,尤其在Access數(shù)據(jù)庫(kù)下。

一個(gè)簡(jiǎn)單的方法是:

把如下的語(yǔ)句:

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" 

實(shí)例

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"
 

關(guān)鍵詞:ASPAccess

贊助商鏈接: