欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP在ACCESS中模糊查詢"內(nèi)存溢出"的解決方法

 更新時間:2014年06月07日 10:09:01   作者:  
這篇文章主要介紹了ASP在ACCESS中模糊查詢"內(nèi)存溢出"的解決方法,本文導(dǎo)致這個問題的原因是字符編碼問題,使用了一個轉(zhuǎn)碼函數(shù)解決,需要的朋友可以參考下

今天在日常維護一個網(wǎng)站時,發(fā)現(xiàn)該網(wǎng)站的留言程序沒有經(jīng)過嚴(yán)格的驗證過濾,導(dǎo)致了將近十萬條垃圾數(shù)據(jù)。而其中又不乏重要信息,需要清理數(shù)據(jù),以及增加更為嚴(yán)格的驗證措施。

而通過在數(shù)據(jù)庫中直接刪除又不太科學(xué),會誤刪很多重要信息。

通過 模糊查詢語句:

復(fù)制代碼 代碼如下:

select * from Feedback where Comments like '%http%'

結(jié)果:“內(nèi)存溢出”

經(jīng)過不斷的搜索,找出了問題的主要原因:

asp 中用 LIKE 關(guān)鍵字查詢?nèi)瘴姆柧蜁鲥e,比如說Chr(-23075),提示內(nèi)存溢出。
如果數(shù)據(jù)表中的數(shù)據(jù)包含日文或者一些特殊非簡體漢字符號,也會出現(xiàn)內(nèi)存溢出的錯誤。


而網(wǎng)上說,上述問題已經(jīng)得到微軟動力營的微軟工程師確認(rèn),為產(chǎn)品的 BUG,無法解決。唯一的辦法就是將整個數(shù)據(jù)庫中的數(shù)據(jù)編碼為ANSI 文本格式,然后保存。顯示的時候再DECODE。

無解,只有按上面所說,進行字段轉(zhuǎn)換保存到另外一個新字段中,然后再進行清理操作。面對這個超標(biāo)數(shù)據(jù)真是困難。

EncodeString 函數(shù)進行字符轉(zhuǎn)義

復(fù)制代碼 代碼如下:

Function EncodeString(strWords)
    Dim i As Long
    Dim strEncodeWords
    For i = 1 To Len(strWords)
        strEncodeWords = strEncodeWords & CStr(Asc(Mid(strWords, i, 1))) & ","
    Next

    EncodeString = strEncodeWords
End Function

這樣經(jīng)過轉(zhuǎn)義后,在模糊搜索時,將關(guān)鍵字進行轉(zhuǎn)義一下

復(fù)制代碼 代碼如下:

delete * from Feedback where Comments_new like '%&EncodeString("http")&%'

相關(guān)文章

最新評論