今天遇到一個問題,一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