Access中批量替換數(shù)據(jù)庫內(nèi)容的兩種方法

字號(hào):


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