asp+Access通用的自動(dòng)替換數(shù)據(jù)庫(kù)中的字符串
當(dāng)初只是為了玩玩寫的,沒(méi)想到寫了之后不斷有人詢問(wèn),所以改寫了一下代碼,完善了一下,支持了正則替換,避開(kāi)了會(huì)導(dǎo)致出錯(cuò)的二進(jìn)制(ole對(duì)象),并且做了一個(gè)EXE的程序。感謝虛擬幫忙。
附asp代碼:
<%
'####################################
'批量替換數(shù)據(jù)庫(kù)內(nèi)容2008-3-17
'替換是不可逆的,所以操作前做好能備份
'####################################
Dim Db,conn,Rs1,Rs2,Str1,Str2,I,Re
str1="admi[0-z]" '要替換的字符串,支持正則
str2="1234" '替換為的字符串
Db="db.mdb" '數(shù)據(jù)庫(kù)地址
'以下無(wú)需改動(dòng)
'創(chuàng)建正則對(duì)象
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 '如果是用戶表,則進(jìn)行操作
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 '如果非自動(dòng)編號(hào)并且非ole對(duì)象
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 "替換完成"
'自定義的替換函數(shù)
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
%>
相關(guān)文章
將首頁(yè)轉(zhuǎn)成靜態(tài)html頁(yè)的asp文件
將首頁(yè)轉(zhuǎn)成靜態(tài)html頁(yè)的asp文件...2007-03-03
asp中用數(shù)據(jù)庫(kù)生成不重復(fù)的流水號(hào)
asp中用數(shù)據(jù)庫(kù)生成不重復(fù)的流水號(hào)的實(shí)現(xiàn)代碼,需要的朋友可以參考下實(shí)現(xiàn)原理其它程序一樣。2006-09-09
ASP同一站點(diǎn)下gb2312和utf-8頁(yè)面?zhèn)鬟f參數(shù)亂碼的終極解決方法
要解決ASP同一站點(diǎn)下gb2312和utf-8頁(yè)面?zhèn)鬟f參數(shù)亂碼問(wèn)題,只需嚴(yán)格做到以下4點(diǎn)即可。2010-12-12
ASP計(jì)算str2在str1中出現(xiàn)的次數(shù)
可以方便計(jì)算一個(gè)字符串在另一個(gè)字符串出現(xiàn)的次數(shù)2008-05-05
實(shí)例分析之用ASP編程實(shí)現(xiàn)網(wǎng)絡(luò)內(nèi)容快速查找的代碼
實(shí)例分析之用ASP編程實(shí)現(xiàn)網(wǎng)絡(luò)內(nèi)容快速查找的代碼...2007-03-03
Win7的IIS7中ASP獲得的系統(tǒng)日期格式為斜杠的解決辦法
Win7下,雖然我們將控制面板中的時(shí)間日期格式改為 YYYY-MM-DD了,但 ASP 函數(shù)NOW()或DATE()取得的日期還是帶/的格式2012-07-07
VBScript ASP CDbl() 函數(shù)轉(zhuǎn)換為雙精度類型
CDbl 函數(shù)用于進(jìn)行從其他數(shù)據(jù)類型到 Double 子類型的國(guó)際公認(rèn)的格式轉(zhuǎn)換。例如,十進(jìn)制分隔符和千位分隔符的識(shí)別取決于系統(tǒng)的區(qū)域設(shè)置。2011-05-05

