作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 08:28:37 阅读 我要评论

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

  推荐阅读

  防止网页后退 asp禁止缓存

像一般网上很多禁止缓存的代码,有时并不可靠,这时你只要在操作的页面加上就可以了,在网页的里指定要定向的新页,再点后退,看是不是不会再退到刚才的操作页面了,实际上已经把这个历史给删除了 ''''''''''''''>>>详细阅读


本文标题:asp+Access通用的自动替换数据库中的字符串

地址:http://www.17bianji.com/kaifa2/ASP/32223.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)