源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

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

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2008-6-28 01:14:08 | 显示全部楼层 |阅读模式
几年前写的一个脚本,可以自动进行整库的数据替换。

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

回复

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-11-16 22:06:35 | 显示全部楼层
刷刷刷刷刷刷刷刷刷刷刷刷刷刷刷
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

79

积分

注册会员

Rank: 2

积分
79
发表于 2022-12-3 05:04:48 | 显示全部楼层
哈哈哈哈哈哈哈
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-12-19 17:51:58 | 显示全部楼层
1312315458748777
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

182

积分

注册会员

Rank: 2

积分
182
发表于 2024-2-25 00:48:35 | 显示全部楼层
源码源码源码源码源码源码源码源码源码源码源码源码源码
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

316

积分

中级会员

Rank: 3Rank: 3

积分
316
发表于 2024-6-1 12:11:16 | 显示全部楼层
管灌灌灌灌灌灌灌灌灌灌
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

155

积分

注册会员

Rank: 2

积分
155
发表于 2024-8-21 14:12:16 | 显示全部楼层
管灌灌灌灌灌灌灌灌灌灌
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

79

积分

注册会员

Rank: 2

积分
79
发表于 2024-9-4 13:15:32 | 显示全部楼层
那三门,你们谁寂寞才快乐撒
回复 支持 反对

使用道具 举报

5

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2024-9-14 18:07:59 | 显示全部楼层
抽根烟,下来看看再说
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2024-9-21 07:55:41 | 显示全部楼层
2222222222222222
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-7 18:16 , Processed in 0.069944 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表