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