国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

asp+Access通用的自動替換數據庫中的字符串

2024-05-04 11:09:23
字體:
來源:轉載
供稿:網友
幾年前寫的一個腳本,可以自動進行整庫的數據替換。
 
 
 

當初只是為了玩玩寫的,沒想到寫了之后不斷有人詢問,所以改寫了一下代碼,完善了一下,支持了正則替換,避開了會導致出錯的二進制(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 
%> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 翼城县| 高陵县| 阿瓦提县| 江油市| 宿迁市| 长海县| 乐亭县| 同心县| 武冈市| 丰顺县| 三穗县| 深泽县| 永新县| 云浮市| 扎兰屯市| 祁连县| 特克斯县| 隆子县| 潮安县| 湘西| 佛冈县| 宁强县| 仙居县| 德钦县| 山西省| 西华县| 名山县| 会宁县| 灵宝市| 平凉市| 准格尔旗| 板桥市| 汽车| 兰溪市| 曲周县| 定边县| 鄂尔多斯市| 甘南县| 乐平市| 花莲市| 宜良县|