ACCESS数据库替换程序
来源:互联网 发布:atom x64 windows.zip 编辑:程序博客网 时间:2024/06/05 06:24
因为网站要改用程序,这几天把程序写好后发现,迁移过来的数据中有许多的上传路径和图片路径都出错,看来要整理哈数据库。
1。以前的方法就是直接在数据库里替换,ACCESS库直接用查找替换,可这次百试不灵,因为要替换中的文本有保留字,和一些特殊的符号。
2。于是我想到复制到ECXEL中进行替换,这些字条是可以替换了,可是因为这个字段是备注字段,复制到ECXEL中只有这个字段的一小部分。
3。如果在SQL里,可以用updata 表set 字段=repalce(字段,要替换的字符,替换为的字符)来直接,可是ACCESS里好像是不行的。
4。看来要用小段代码来循环替换,于是写了一小段。/
<%
dim conn,db,connstr
dim iRep,sqlRep, strRep,rsRep,str1,str2,tableName
str1="[InstallDir_ChannelDir]{$UploadDir}" "要替换的字符串
str2="/wsrs/UploadFiles" "替换为的字符串
db="/datd/data.mdb" "数据库文件的位置
tableName="article" "数据库用表的名称
Set conn = Server.CreateObject("ADODB.Connection")
c & Server.MapPath(db)
conn.Open connstr
set rsRep = Server.CreateObject("ADODB.Recordset")
sqlRep="select content from "&tableName
rsRep.open sqlRep,conn,1,3
iRep=1
do while not rsRep.eof
strRep=replace(rsRep("Content"),str1,str2)
rsRep("Content")=strRep
rsRep.update
response.Write "√第"&iRep&"条记录已替换成功!<br>"
rsRep.movenext
iRep=iRep+1
loop
rsRep.close
set rsRep=nothing
%>
写成一个ASP程序,放到网站目录下执行,运行的结果:
再来看,网站上的图片和要原来上传到网站上提供下载的资源路径都对了。
后来又在网站找一下此类的资料,发现有一个更好的,可以对整个数据库进行替换,代码如下:
<%
Dim Db,Connstr,conn,rs,rs2,str1,str2,I
str1="abcd" "要替换的字符串
str2="1234" "替换为的字符串
Db="lamking.mdb"
Set c.CreateObject("ADODB.Connection")
C&server.mappath(Db)
Conn.Open ConnStr
Set rs = conn.OpenSchema(20)
Do While Not rs.eof
If rs("TABLE_TYPE")="TABLE" Then
Set Rs2=Server.Createobject("adodb.recordset")
Rs2.Open "select * from ["&rs("TABLE_NAME")&"]",conn,1,3
Do While Not Rs2.Eof
For I=0 to Rs2.fields.count-1
If Rs2(i).Properties("ISAUTOINCREMENT") = False Then
Rs2(Rs2(i).name)=Myreplace(Rs2(i).value)
End If
Next
Rs2.Movenext
Loop
Rs2.Close
Set Rs2=nothing
End If
Rs.Movenext
Loop
Rs.close
Set Rs=nothing
Conn.close
Set C
Response.Write"替换完成"
Function myreplace(byval Tstr)
If Tstr="" Or isnull(Tstr) Then
Exit Function
Else
myReplace=replace(Tstr,str1,str2)
End If
End Function
%>
1。以前的方法就是直接在数据库里替换,ACCESS库直接用查找替换,可这次百试不灵,因为要替换中的文本有保留字,和一些特殊的符号。
2。于是我想到复制到ECXEL中进行替换,这些字条是可以替换了,可是因为这个字段是备注字段,复制到ECXEL中只有这个字段的一小部分。
3。如果在SQL里,可以用updata 表set 字段=repalce(字段,要替换的字符,替换为的字符)来直接,可是ACCESS里好像是不行的。
4。看来要用小段代码来循环替换,于是写了一小段。/
<%
dim conn,db,connstr
dim iRep,sqlRep, strRep,rsRep,str1,str2,tableName
str1="[InstallDir_ChannelDir]{$UploadDir}" "要替换的字符串
str2="/wsrs/UploadFiles" "替换为的字符串
db="/datd/data.mdb" "数据库文件的位置
tableName="article" "数据库用表的名称
Set conn = Server.CreateObject("ADODB.Connection")
c & Server.MapPath(db)
conn.Open connstr
set rsRep = Server.CreateObject("ADODB.Recordset")
sqlRep="select content from "&tableName
rsRep.open sqlRep,conn,1,3
iRep=1
do while not rsRep.eof
strRep=replace(rsRep("Content"),str1,str2)
rsRep("Content")=strRep
rsRep.update
response.Write "√第"&iRep&"条记录已替换成功!<br>"
rsRep.movenext
iRep=iRep+1
loop
rsRep.close
set rsRep=nothing
%>
写成一个ASP程序,放到网站目录下执行,运行的结果:
再来看,网站上的图片和要原来上传到网站上提供下载的资源路径都对了。
后来又在网站找一下此类的资料,发现有一个更好的,可以对整个数据库进行替换,代码如下:
<%
Dim Db,Connstr,conn,rs,rs2,str1,str2,I
str1="abcd" "要替换的字符串
str2="1234" "替换为的字符串
Db="lamking.mdb"
Set c.CreateObject("ADODB.Connection")
C&server.mappath(Db)
Conn.Open ConnStr
Set rs = conn.OpenSchema(20)
Do While Not rs.eof
If rs("TABLE_TYPE")="TABLE" Then
Set Rs2=Server.Createobject("adodb.recordset")
Rs2.Open "select * from ["&rs("TABLE_NAME")&"]",conn,1,3
Do While Not Rs2.Eof
For I=0 to Rs2.fields.count-1
If Rs2(i).Properties("ISAUTOINCREMENT") = False Then
Rs2(Rs2(i).name)=Myreplace(Rs2(i).value)
End If
Next
Rs2.Movenext
Loop
Rs2.Close
Set Rs2=nothing
End If
Rs.Movenext
Loop
Rs.close
Set Rs=nothing
Conn.close
Set C
Response.Write"替换完成"
Function myreplace(byval Tstr)
If Tstr="" Or isnull(Tstr) Then
Exit Function
Else
myReplace=replace(Tstr,str1,str2)
End If
End Function
%>
- ACCESS数据库替换程序
- ACCESS数据库批量替换
- Access中批量替换数据库内容
- ADO ACCESS数据库程序编写
- [原创]Access通用--自动替换数据库中的字符串
- 如何在ACCESS数据库中批量替换内容
- access数据库编码转换:将将UTF8替换为GB2312
- JAVA连接Microsoft ACCESS数据库程序实例
- asp上传图片到access数据库程序
- Java 程序访问加密的Access数据库
- 通过asp程序来创建access数据库
- 最简单VB连接access数据库程序
- 如何开发兼容Access数据库的程序
- 在ASP程序中访问Access数据库
- JAVA程序中ACCESS 数据库使用
- jsp 连接 Access 数据库 程序测试
- access条件替换
- Access的替换
- 用XmlBeans处理XML文档
- java主函数参数问题
- Think in java笔记一则
- 云鹏杂记 之 执行力
- vc不认识 CTreeView
- ACCESS数据库替换程序
- Access Violation(越界错误)产生原因
- MFC 文档/视图模式之如何获取文档内数据
- 未来30年的研究预测——新书上架(《超限未来10大趋势》)
- 学习Singularity
- CString 操作指南(转)
- JSP培训(1)——概述
- ACC四级联动搜索难题!
- 获取鼠标点击DataGridView行各单元格值