asp采用access數(shù)據(jù)庫搜索信息時因為日文片假名問題提示“Microsoft JET Database Engine 錯誤80040e14”的解決方法
網(wǎng)絡(luò) 2018/5/29 11:27:36 深山工作室 字體:
大 中 小 瀏覽 6408
程序是:asp
數(shù)據(jù)庫:access
在搜索時出現(xiàn)錯誤:
--------------------------------------------
錯誤提示:
Microsoft JET Database Engine 錯誤 '80040e14'
內(nèi)存溢出
--------------------------------------------
其實ASP下出現(xiàn)80040e14錯誤一般有兩個問題產(chǎn)生的:
1、數(shù)據(jù)表名使用了保留字;
2、一般出現(xiàn)在搜索like語句下,Access搜索日文片假名或者中文亂碼情況下會出現(xiàn)這個錯誤。
1、數(shù)據(jù)表名或者字段使用了保留字
這個問題就比較簡單了,因為不同數(shù)據(jù)庫的保留字是不同的,不過常見的有:ADD、ALL、ALTER、AND、BETWEEN、COLUMN、Count、COUNTER、CREATE、DATE、DATETIME、DOUBLE、FUNCTION、GROUP、GUID、INDEX、INSERT、INTO、LEFT、NAME、REAL等等,實在太多了。
解決的辦法就是將這個數(shù)據(jù)庫表或者字段加上中括號“[]”就可以了,比如:
select * from [counter] where id=1 //這個是數(shù)據(jù)庫表名
select [name], mobile * from addrbook //這個是字段
2、解決搜索like語句的錯誤
搜索中文亂碼或者日文片假名可能會產(chǎn)生這個問題,尤其在Access數(shù)據(jù)庫下。
一個簡單的方法是:
把如下的語句:Sql = "select * From [qwnew] Where Title like '%"&keyword&"%' Order By id Desc"
換成:Sql = "select * from [qwnew] where InStr(1,LCase(Title),LCase('"&keyword&"'),0)<>0 order by id desc"
實例 sql="select * from qwnew where mername like '%"& keyword &"%' order by id desc"
換成 sql="select * from qwnew where InStr(1,LCase(mername),LCase('"& keyword &"'),0)<>0 order by id desc"
這個問題據(jù)說是Access的一個BUG,在SQL Server沒有發(fā)現(xiàn)這個問題。原因絕大多數(shù)的情況是由于文章、標題、名字等內(nèi)容的標題、名稱或者關(guān)鍵字等字段內(nèi)含有一些日本片假名造成的。這些非法字符包括:(不能寫出來,否則搜索該出錯了)。反正看到那26個日文字符就不要寫就好了,保證沒這個問題。
- 相關(guān)閱讀
- Dreamweaver錯誤:在onload運行_beforeSave.htm時,發(fā)生了一個JavaScript錯誤
- 在圖片未知尺寸情況下,利用CSS把圖片垂直居中于div中心
- web2.0網(wǎng)頁--常用的XHTML標簽的使用技巧方法介紹
- Request.ServerVariables在網(wǎng)頁中的一些應(yīng)用集合
- 五個簡單措施增強IIS安全性
- 微信公眾號用戶關(guān)注時自動推送回復(fù)小程序卡片(圖文卡片)不需要第三方平臺就可以做
- 超級實用且不花哨的js代碼大全( 8 )
- 設(shè)置兩個未知高度的DIV保持等高
- 共有0條關(guān)于《asp采用access數(shù)據(jù)庫搜索信息時因為日文片假名問題提示“Microsoft JET Database Engine 錯誤80040e14”的解決方法》的評論
- 發(fā)表評論