今天遇到一個(gè)問(wèn)題,一access數(shù)據(jù)庫(kù)中存放著n條文章記錄,現(xiàn)在想替換掉這些文章中的部分內(nèi)容,我們首先想到的是到網(wǎng)站后臺(tái)去一條一條修改文章,那如果有1000篇文章,那就在網(wǎng)站后臺(tái)改1000次,難以想象這是什么樣的工作量。其實(shí)在access數(shù)據(jù)庫(kù)中可以利用sql語(yǔ)句來(lái)批量替換內(nèi)容,只需一句話就能解決問(wèn)題,下面通過(guò)兩種方法來(lái)解決此問(wèn)題。
方法一:通過(guò)access數(shù)據(jù)庫(kù)中的查詢分析器來(lái)修改(這里我使用的是access 2003)
1、打開(kāi)需要修改的access數(shù)據(jù)庫(kù)
2、在數(shù)據(jù)庫(kù)“對(duì)象”中點(diǎn)擊“查詢”
3、點(diǎn)擊“在設(shè)計(jì)視圖中創(chuàng)建查詢”
4、在出現(xiàn)的界面中關(guān)閉“顯示表”小窗口
5、點(diǎn)擊“視圖”菜單,選擇“sql視圖”,此時(shí)將出現(xiàn)查詢窗口,您可以在此輸入sql語(yǔ)句了
6、直接輸入以下sql語(yǔ)句:
update 表 set 字段=replace(字段,原字符,替換字符)
您可根據(jù)實(shí)際情況,將上面紅字換掉即可,這里舉個(gè)例子,假設(shè)表為biao、字段為content、原字符為xiazai.jb51.net、替換字符為down1.jb51.net,那么相應(yīng)的sql語(yǔ)句如下:
代碼如下:
update biao set content=replace(content,xiazai.jb51.net,down1.jb51.net)
7、點(diǎn)擊工具欄中的感嘆號(hào),運(yùn)行即可。
方法二:用asp程序來(lái)批量替換字符,上面的代碼有字符長(zhǎng)度限制的問(wèn)題。這個(gè)沒(méi)有限制。
下面直接給出asp程序代碼,大家一看即知道了:
代碼如下:
'這里省略數(shù)據(jù)庫(kù)連接代碼
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
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄