'####################################
'替换数据库内容 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).type205 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
%