当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP中文本文件与数据库文件的数据交换(FSO)

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

ASP中文本文件与数据库文件的数据交换(FSO)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 86 ::
收藏到网摘: n/a

ASP中文本文件与数据库文件的数据交换
网络数据库的应用是WWW上一个很重要的组成部分,可以这样说,如果缺少了数据库,网络也就失去了灵魂。大家可以想象一下,如果没有象YAHOO,SOHU等搜索引擎的话,那么在网上寻找一个目标变得多么困难,大家在茫茫网海里变得不知所往,动辄迷失方向。其实,这些搜索引擎是网络数据库的最典型的应用,在ASP(Active Server Pages)技术里对数据库的直接操作是比较多的,下面讲述一种由文本文件向数据库文件传递数据的方法。
这个文本文体是由终端采集传送到服务器的一个固定目录下,由服务器去读取数据并存放在本机数据库里,转换完后删除掉这个文本文件。这样终端负责采集数据,并按给定的格式上传到服务器的指定目录下,服务器端的数据库对终端来讲是完全不透明的,保障了服务器的安全,对现在的网络数据库应用来讲或许有点帮助。
Txttolib.asp
<html>
<head>
<meta http-equiv="refresh" content="30;url=deltext.asp">
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>[把文本文件转换成数据库文件]</title>
</head>
<body bgcolor="#FFFFFF">
<align="center">
<p align="center"><font color="#FF0000">正在处理数据,请稍候!
<br>
</font><font color="#000000"><align="center"><%
str=server.mappath("/") ‘取得服务器的根目录
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(str & "\thetext")
Set fc = f.Files
k=1
For Each f1 in fc
file(k)=f1.name ‘得到此路径下的所有文件名
k=k+1
next
%><% ii=1%><%
set fs = CreateObject("Scripting.FileSystemObject")%><%
while ii<k
response.write file(ii) & "<br>"
set textinstance=fs.opentextfile(str & "\thetext\" & file(ii),1,false,false)‘打开文件来读数据
while textinstance.atendofstream<> true ‘如果文件没有结束
visitornum=textinstance.readline ‘读进一行数据
j=0
cd=len(visitornum)
for i=1 to cd
if mid(visitornum,i,1)="," then ‘数据与数据之间以“,”隔开
j=j+1
else
select case j‘分别取得各数据值
case 0
me1=me1+mid(visitornum,i,1)
case 1
me2=me2+mid(visitornum,i,1)
case 2
me3=me3+mid(visitornum,i,1)
case 3
me4=me4+mid(visitornum,i,1)
case 4
me5=me5+mid(visitornum,i,1)
case 5
me6=me6+mid(visitornum,i,1)
end select
end if
next
response.write me1 & " " & me2 & " " & me3 & " " & me4 & " " & me5 & " " & me6 & " " & "<br>"
set cn=server.createobject("adodb.connection")
cn.open "water","",""
set rs=server.createobject("adodb.recordset")
sql="select * from watertable"
rs.open sql,cn,3,3‘打开数据库进行追加操作
if rs.eof=true then
on error resume next
'rs.movelast
rs.movefirst
on error resume next
end if
rs.addnew‘增加一条记录
rs("wvalue")=me1
rs("wdate")=me2
rs("wtime")=me3
rs("zxz")=me4
rs("jdh")=me5
rs("czh")=me6
rs.update‘更新数据
rs.close
me1=""
me2=""
me3=""
me4=""
me5=""
me6=""
wend
ii=ii+1
wend %><align="center"></font><font color="#FF0000">数据处理完毕!</font>
</p>
</body>
</html>
deltext.asp
<html>
<head>
<meta http-equiv="refresh" content="30;url=txttolib.asp">
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>[删除文件]</title>
</head>
<body bgcolor="#FFFFFF">
<p align="center"><font color="#FF0000">正在删除文件,请稍候!<br>
</font><font color="#000000"><%
dim file(50)‘定义最大文件数
str=server.mappath("/")
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(str & "\thetext\")
Set fc = f.Files
k=1
For Each f1 in fc
file(k)=f1.name
response.write file(k) & "<br>"
k=k+1
next
%><% i=1
while i<k
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile(str & "\thetext\" & file(i))
i=i+1
wend
%></font><font color="#FF0000">文件删除完毕!</font></p>
</body>
</html>
这两个小程序在NT4上作者都调试通过。但有几点要认清,一个是文本文件大小的规划(文本文件的数量多少也是如此),如果数据量大,那么在转换时的时间大小要调整;二是转换文本文件到数据库文件时的程序调试一定要严谨,如果程序有误,在数据转换过程中没有全部转换,而后又删除了这个文本文件,则会有所损失。所以这两点一定要注意,不能马虎。