Access中批量替换数据库内容的两种方法

时间:2021-08-31 22:27:34

今天遇到一个问题,一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