今天遇到一个问题,一Access数据库中存放着N条文章记录,现在想替换掉这些文章中的部分内容,我们首先想到的是到网站后台去一条一条修改文章,那如果有1000篇文章,那就在网站后台改1000次,难以想象这是什么样的工作量。其实在Access数据库中可以利用SQL语句来批量替换内容,只需一句话就能解决问题,下面通过两种方法来解决此问题。
方法一:通过Access数据库中的查询分析器来修改(这里我使用的是Access 2003)
1、打开需要修改的Access数据库
2、在数据库“对象”中点击“查询”
3、点击“在设计视图中创建查询”
4、在出现的界面中关闭“显示表”小窗口
5、点击“视图”菜单,选择“SQL视图”,此时将出现查询窗口,您可以在此输入SQL语句了
6、直接输入以下SQL语句:
Update 表 SET 字段=replace(字段,”原字符”,”替换字符”)
您可根据实际情况,将上面红字换掉即可,这里举个例子,假设表为biao、字段为content、原字符为xiazai.jb51.net、替换字符为down1.jb51.net,那么相应的SQL语句如下:
复制代码 代码如下:
Update biao SET content=replace(content,”xiazai.jb51.net”,”down1.jb51.net”)
7、点击工具栏中的感叹号,运行即可。
方法二:用ASP程序来批量替换字符,上面的代码有字符长度限制的问题。这个没有限制。
下面直接给出ASP程序代码,大家一看即知道了:
复制代码 代码如下:
‘这里省略数据库连接代码
Dim rs,sql,text
Set rs=Server.CreateObject(“ADODB.Recordset”)
sql=”Select content From biao”
rs.Open sql,conn,1,3
Do While Not rs.Eof
text=Replace(rs(“content”),”xiazai.jb51.net”,”down1.jb51.net”)
rs(“content”)=text
rs.Update
rs.MoveNext
Loop
rs.Close
Set rs=Nothing
Dim rs,sql,text
Set rs=Server.CreateObject(“ADODB.Recordset”)
sql=”Select content From biao”
rs.Open sql,conn,1,3
Do While Not rs.Eof
text=Replace(rs(“content”),”xiazai.jb51.net”,”down1.jb51.net”)
rs(“content”)=text
rs.Update
rs.MoveNext
Loop
rs.Close
Set rs=Nothing