当前位置:首页 > 日志 > 正文内容

替换mdb数据库中文字或字符串的方法(测试可用)

光的传人9年前 (2016-12-30)日志2809

由于要替换博客中某些敏感词(防止博客被和谐),需要批量操作数据库:批量替换数据库中的某个关键词。但是使用access数据库打开mdb数据库,竟然发现里面的搜索功能毫无反应,难道是用的office精简版的原因?不好说……经过研究,发现网上流传的方法有些不可用,但是也有可用的。经过测试,下面一个方法非常不错,但是需要使用运行asp程序,代码如下(替换mdb数据库中文字或字符串的方法一。注:已测试,可能存在某些漏洞导致数据库某些数据出现问题,如此方法出现问题,可使用第二个方法,已测试成功无错批量替换mdb数据库中文字):

<% 
'#################################### 
'替换mdb数据库内容或字符串 
'http://www.liu16.com
'#################################### 
Dim Db,Connstr,conn,rs,rs2,str1,str2,I 
str1="阿光" '要替换的字符串 
str2="光的传人" '替换为的字符串 
Db="data.mdb" 
Set conn=Server.CreateObject("ADODB.Connection") 
ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(Db) 
Conn.Open ConnStr 
Set rs = conn.OpenSchema(20) 
Do While Not rs.eof 
If rs("TABLE_TYPE")="TABLE" Then 
Set Rs2=Server.Createobject("adodb.recordset") 
Rs2.Open "select * from ["&rs("TABLE_NAME")&"]",conn,1,3 
Do While Not Rs2.Eof 
For I=0 to Rs2.fields.count-1 
If Rs2(i).Properties("ISAUTOINCREMENT") = False Then 
Rs2(Rs2(i).name)=Myreplace(Rs2(i).value) 
End If 
Next 
Rs2.Movenext 
Loop 
Rs2.Close 
Set Rs2=nothing 
End If 
Rs.Movenext 
Loop 
Rs.close 
Set Rs=nothing 
Conn.close 
Set Conn=nothing 
Response.Write"替换完成" 
Function myreplace(byval Tstr) 
If Tstr="" Or isnull(Tstr) Then 
Exit Function 
Else 
myReplace=replace(Tstr,str1,str2) 
End If 
End Function 
%>

以上代码成功运行后,会出现“替换完成”提示,这样就大功告成了。(经测试,数据库会受到一定损害,我的博客之前的文章出现不能编辑,生成不完整的现象,不知是何缘故。使用前请备份好数据库

但是如果没有运行asp的条件或环境呢?可以用一个asp运行的小程序,例如:Aws.exe、Ajiu AspWebServer V1.0.exe、Ajiu AspWebServer V1.8、Baby Web Server 2.6.2.exe、黑风ASP服务器.exe、智能端口急速版v1.3.exe、Smart Server Plus v2.0.exe等等。

替换mdb数据库中文字或字符串的方法二(推荐):

由于以上方法修改的mdb数据库出现调用问题,特此再更新一个方法,经测试批量替换完成后,数据库没有出现以上错误。这个方法就是使用“速用数据库修改器”:SuperDataBase_NewHua.exe。其界面如下:

如果不嫌麻烦,还有另外一个解决方案,替换mdb数据库中文字或字符串的方法三:

1、将需要替换的字段整列复制到excle中,然后在excle中进行批量查找替换。

2、然后再将替换好的整列复制到数据库中(注意不要错行)。

以上方法适合包含需要替换关键词的字段少的情况,如果mdb数据库需要替换的列太多,这种方法就比较麻烦了。


扫描二维码推送至手机访问。

版权声明:本文由光的传人博客www.liu16.com发布,如需转载请注明出处。

本文链接:http://www.liu16.com/post/660.html

分享给朋友:

相关文章

黑胶体无法识别短接新方法(金士顿DTSE9 16G U盘)

黑胶体无法识别短接新方法(金士顿DTSE9 16G U盘)

今天又翻出了6年前的一个16G U盘,之前量产过,详见文章《金士顿DTSE9 16G U盘(山寨安国Alcor主控)量产方法及量产工具》。对,还是这个U盘(黑胶体丝印为:ZY1512SD016AG,搜索不出任何信息!),当年量产好了之后,好...

纪念抗战胜利77周年

纪念抗战胜利77周年

今年是中国人民抗日战争暨世界反法西斯战争胜利77周年。1931年至1945年,中国人民以14年浴血奋战打败日本军国主义侵略者,最终取得抗日战争的伟大胜利。铭记历史,缅怀先烈,吾辈自强!77年前的今天中国人民经过14年浴血奋战打败了日本军国主...

root后红米升级到JHACNAH5.0

root后红米升级到JHACNAH5.0

root后的红米升级系统确实是有点麻烦,要把完整包下载下来,浪费的时间就多了。升级方法可参照我之前写的:《红米手机ROOT后系统更新失败,只是方法不对》。在此,再重复一下升级过程:在红米手机自带的“系统更新”界面下,点击菜单按钮(触摸屏),...

红米老人模式黑屏,不要刷机,简单操作即可解决

红米老人模式黑屏,不要刷机,简单操作即可解决

昨天看了一篇文章,好像是专门黑红米手机吹嘘华为荣耀3c的。其实华为的也是国产,我对荣耀3c也是持有积极心态的,但是这样的高级黑软文,我真的看不下去!文中说红米手机老人模式里面没有通讯录!这小编也真TMD不用脑子想想,现在什么手机没个通讯录?...

u盘扩容检测工具MyDiskTes该升级了!

u盘扩容检测工具MyDiskTes该升级了!

数据无价,买U盘需谨慎!谨以此文献给那些买了虚假容量U盘的朋友。记得大学的时候,班上一哥们从网上买了个8GU盘,相当便宜,我就怀疑是不是真的实际容量8G,结果买来之后,用MyDiskTes检测,竟然是2G的量产修改的!于是我就重新给他量产了...

大迈U盘怎么样?新入手64G128G大迈DM入坑

大迈U盘怎么样?新入手64G128G大迈DM入坑

最近从某平台上用积分兑换了两个大迈U盘,一个64G的,一个128G的,理由有两个,一是便宜,二是造型还不错。由于之前用金士顿的也出过问题,所以我觉得U盘牌子不牌子的,不是太重要(事实证明这种想法是错的,存储芯片有原片、白片、黑片之分,大牌U...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。