当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp+Access通用的自动替换数据库中的字符串

ASP
FrontPage 2000+DB2实现数据库信息发布
Execel文件插入到ASP页面
利用ASP在客户端注册DLL文件
1栏分页显示(附显示的形式前页,后页)
1栏分页显示(附显示的形式[1][2])
一个基于web的QQ程序 2(xml+asp)
XMLHTTP+javascript+Asp写得聊天室,无刷新实现(一)
XMLHTTP+javascript+Asp写得聊天室,无刷新实现(二)
XMLHTTP+javascript+Asp写得聊天室,无刷新实现(三)
XMLHTTP+javascript+Asp写得聊天室,无刷新实现(四)
XMLHTTP+javascript+Asp写得聊天室,无刷新实现(五)
XMLHTTP+javascript+Asp写得聊天室,无刷新实现(六)
建立一个广告交换及跟踪系统
如何制作无状态的ASP组件
无组件文件上传代码实例
建立动态下拉式选单(三阶层)
用ASP编写的“俄罗斯方块游戏”
利用ASP.NET来访问Excel文档
初探SSI网页制作
具有自攻击性的代码

ASP 中的 asp+Access通用的自动替换数据库中的字符串


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 186 ::
收藏到网摘: n/a

几年前写的一个脚本,可以自动进行整库的数据替换。

当初只是为了玩玩写的,没想到写了之后不断有人询问,所以改写了一下代码,完善了一下,支持了正则替换,避开了会导致出错的二进制(ole对象),并且做了一个EXE的程序。感谢虚拟帮忙。
附asp代码:

复制代码 代码如下:

<%
'####################################
'批量替换数据库内容2008-3-17
'替换是不可逆的,所以操作前做好能备份
'####################################
Dim Db,conn,Rs1,Rs2,Str1,Str2,I,Re
str1="admi[0-z]" '要替换的字符串,支持正则
str2="1234" '替换为的字符串
Db="db.mdb" '数据库地址
'以下无需改动
'创建正则对象
Set Re=new RegExp
Re.IgnoreCase =True
Re.Global=True
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(Db)
Set Rs1 = Conn.OpenSchema(20)
Do While Not Rs1.Eof
If UCase(Rs1("TABLE_TYPE"))="TABLE" Then '如果是用户表,则进行操作
Set Rs2=Server.Createobject("adodb.recordset")
Rs2.Open "select * from ["&Rs1("TABLE_NAME")"]",conn,1,3
Do While Not Rs2.Eof
For I=0 to Rs2.fields.count-1 '遍历所有字段
If Rs2(i).Properties("ISAUTOINCREMENT") = False And Rs2(i).Type<>128 And Rs2(i).Type<>204 And Rs2(i).Type<>205 Then '如果非自动编号并且非ole对象
Rs2(Rs2(i).name)=Myreplace(Rs2(i).value&"")
End If
Next
Rs2.Movenext
Loop
Rs2.Close
Set Rs2=nothing
End If
Rs1.MoveNext
Loop
Rs1.Close
Set Rs1=Nothing
Conn.close
Set Conn=Nothing
Set Re=Nothing
Response.Write "替换完成"
'自定义的替换函数
Function myreplace(byval Tstr)
If Tstr="" Or isnull(Tstr) Then
Exit Function
Else
Re.Pattern=Str1
myReplace =Re.Replace(Tstr,Str2)
End If
End Function
%>