Access中批量替换数据库内容的两种方法
程序员文章站
2022-06-17 19:01:58
今天遇到一个问题,一access数据库中存放着n条文章记录,现在想替换掉这些文章中的部分内容,我们首先想到的是到网站后台去一条一条修改文章,那如果有1000篇文章,那就在网站后台改1000次,难以想象...
今天遇到一个问题,一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
方法一:通过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