On Error Resume Next Err.Clear Dim objRS,i Set objRS=Server.CreateObject("ADODB.Recordset") objRS.CursorType = adOpenKeyset objRS.LockType = adLockReadOnly objRS.ActiveConnection=objConn objRS.Source="SELECT * FROM [blog_Comment]" objRS.Open()
If (Not objRS.bof) And (Not objRS.eof) Then
For i=1 to objRS.RecordCount '遍历,看看有没有日文,如果有,就溢出了,随便搜索一个东西就行了。搜什么无所谓。因为是遍历ACCESS只要指针移动到日文就溢出。 objConn.Execute("SELECT * FROM [blog_Comment] WHERE comm_ID="objRS("comm_ID")" AND [comm_Content] LIKE '%URL%'") If Err.Number=-2147217900 Then '因为是on err继续 所以这里找到溢出的错误代码,这个是自己debug出来的,实际上不是从什么地方找的。 objConn.Execute("UPDATE [blog_Comment] SET [comm_Content]='"FilterSQL(Japan2Html(objRS("comm_Content")))"',[comm_Author]='"FilterSQL(Japan2Dc9CnHtml(objRS("comm_Author")))"' WHERE comm_ID="objRS("comm_ID")" ") '这个就是把日文替换一下,思路是不是很巧妙。恩。不过数据库庞大的化,反复溢出就会很出问题的。内存宝宝会哭的。 Err.Clear End If objRS.MoveNext Next
End If
objRS.Close Set objRS=Nothing 'www.dc9.cn 07/11/28 End Function