asp+Access通用的自动替换数据库中的字符串_ASP教程-查字典教程网
asp+Access通用的自动替换数据库中的字符串
asp+Access通用的自动替换数据库中的字符串
发布时间:2016-12-29 来源:查字典编辑
摘要:当初只是为了玩玩写的,没想到写了之后不断有人询问,所以改写了一下代码,完善了一下,支持了正则替换,避开了会导致出错的二进制(ole对象),并...

当初只是为了玩玩写的,没想到写了之后不断有人询问,所以改写了一下代码,完善了一下,支持了正则替换,避开了会导致出错的二进制(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

SetConn=Server.CreateObject("ADODB.Connection")

Conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&server.mappath(Db)

SetRs1=Conn.OpenSchema(20)

DoWhileNotRs1.Eof

IfUCase(Rs1("TABLE_TYPE"))="TABLE"Then'如果是用户表,则进行操作

SetRs2=Server.Createobject("adodb.recordset")

Rs2.Open"select*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对象

Rs2(Rs2(i).name)=Myreplace(Rs2(i).value&"")

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教程学习
    编程开发子分类