<% '#################################### '替换数据库内容 lamking 2005-8-22 '更新修正:2006-6-28 'http://www.imbbs.cn QQ:628557 '出售空间域名。网页制作。 '#################################### '以下请根据你的不同情况做修改 Const S1="admin" '要被替换的字符串 Const S2="1234" '替换为的字符串 Const Db="lamking.mdb" '数据库 Const IgnoreCase=True '忽略大小写 '以下数据无需更改 Dim oRs,oRs2,conn,I Set conn=Server.CreateObject("Adodb.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(Db) Set oRs=conn.OpenSchema(20) Do While not oRs.Eof If Ucase(oRs("TABLE_TYPE"))="TABLE" Then '如果是用户表 '循环替换该表的每一个字段 Set oRs2=Server.CreateObject("Adodb.RecordSet") oRs2.Open "select * from ["&ors("TABLE_NAME")&"]",conn,1,3 Do While Not oRs2.Eof For I=0 To oRs2.Fields.Count-1 '如果是OLE对象或者自动编号字段,则不替换 If oRs2(I).Properties("ISAUTOINCREMENT")=False And ors2(I).type<>205 Then oRs2(oRs2(I).Name)=MyReplace(oRs2(I).value) End If
Next oRs2.update oRs2.MoveNext Loop oRs2.close set oRs2=Nothing End If oRs.Movenext Loop oRs.close Set oRs=nothing Conn.close Set Conn=nothing Response.Write"替换完成"
Function myreplace(byval Tstr) Dim RegEx If Tstr="" Or isnull(Tstr) Then Exit Function Set RegEx=New RegExp RegEx.Global = True RegEx.IgnoreCase = IgnoreCase RegEx.MultiLine = True RegEx.Pattern=S1 myReplace=RegEx.Replace(TStr,S2) Set RegEx=Nothing End Function %> |