源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-01-21 05:32 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp+Access通用的自动替换数据库中的字符串
当初只是为了玩玩写的,没想到写了之后不断有人询问,所以改写了一下代码,完善了一下,支持了正则替换,避开了会导致出错的二进制(ole对象),并且做了一个EXE的程序。感谢虚拟帮忙。 附asp代码:
[u]复制代码[/u] 代码如下:
<%     '####################################     '批量替换数据库内容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    %> 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部