asp+Access通用的自动替换数据库中的字符串
2018-09-06 13:05
当初只是为了玩玩写的,没想到写了之后不断有人询问,所以改写了一下代码,完善了一下,支持了正则替换,避开了会导致出错的二进制(ole对象),并且做了一个EXE的程序。感谢虚拟帮忙。
附asp代码:
复制代码 代码如下:
<%
####################################
批量替换数据库内容2008-3-17
替换是不可逆的,所以操作前做好能备份
####################################
DimDb,conn,Rs1,Rs2,Str1,Str2,I,Re
str1=admi[0-z]要替换的字符串,支持正则
str2=1234替换为的字符串
Db=db.mdb数据库地址
以下无需改动
创建正则对象
SetRe=newRegExp
Re.IgnoreCase=True
Re.Global=True
Conn.OpenProvider=Microsoft.Jet.OLEDB.4.0;DataSource=&server.mappath(Db)
SetRs1=Conn.OpenSchema(20)
DoWhileNotRs1.Eof
IfUCase(Rs1(TABLE_TYPE))=TABLEThen如果是用户表,则进行操作
SetRs2=Server.Createobject(adodb.recordset)
Rs2.Openselect*from[&Rs1(TABLE_NAME)],conn,1,3
DoWhileNotRs2.Eof
ForI=0toRs2.fields.count-1遍历所有字段
IfRs2(i).Properties(ISAUTOINCREMENT)=FalseAndRs2(i).Type<>128AndRs2(i).Type<>204AndRs2(i).Type<>205Then如果非自动编号并且非ole对象
EndIf
Next
Rs2.Movenext
Loop
Rs2.Close
SetRs2=nothing
EndIf
Rs1.MoveNext
Loop
Rs1.Close
SetRs1=Nothing
Conn.close
SetConn=Nothing
SetRe=Nothing
Response.Write替换完成
自定义的替换函数
Functionmyreplace(byvalTstr)
IfTstr=Orisnull(Tstr)Then
ExitFunction
Else
Re.Pattern=Str1
myReplace=Re.Replace(Tstr,Str2)
EndIf
EndFunction
%>
下一篇:asp生成三维饼图的函数
文章标题:asp+Access通用的自动替换数据库中的字符串
文章链接:http://soscw.com/index.php/essay/10893.html