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

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

网络数据库的应用是WWW上一个很重要的组成部分,可以这样说,如果缺少了数据库,网络也就失去了灵魂。大家可以想象
一下,如果没有象YAHOO,SOHU等搜索引擎的话,那么在网上寻找一个目标变得多么困难,大家在茫茫网海里变得不知所
往,动辄迷失方向。其实,这些搜索引擎是网络数据库的最典型的应用,在ASP(Active Server Pages)技术里对数据库
的直接操作是比较多的,下面讲述一种由文本文件向数据库文件传递数据的方法。
这个文本文体是由终端采集传送到服务器的一个固定目录下,由服务器去读取数据并存放在本机数据库里,转换完后删除
掉这个文本文件。这样终端负责采集数据,并按给定的格式上传到服务器的指定目录下,服务器端的数据库对终端来讲是
完全不透明的,保障了服务器的安全,对现在的网络数据库应用来讲或许有点帮助。
Txttolib.asp

 1<html>
 2<head>
 3<meta content="30;url=deltext.asp" http-equiv="refresh"/>
 4<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
 5<meta content="Microsoft FrontPage Express 2.0" name="GENERATOR"/>
 6<title>[把文本文件转换成数据库文件]</title>
 7</head>
 8<body bgcolor="#FFFFFF">
 9<align="center">
10<p align="center"><font color="#FF0000">正在处理数据,请稍候!   
11<br/>
12</font><font color="#000000"><align="center">```
13   
14str=server.mappath("/") ‘取得服务器的根目录   
15Set fso = CreateObject("Scripting.FileSystemObject")   
16Set f = fso.GetFolder(str &amp;amp; "\thetext")   
17Set fc = f.Files   
18k=1   
19For Each f1 in fc   
20file(k)=f1.name ‘得到此路径下的所有文件名   
21k=k+1   
22next   

ii=1

1   
2set fs = CreateObject("Scripting.FileSystemObject")

while ii<k "<br="" &="" file(ii)="" response.write="">"
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 & " " & "
"
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

1&lt;/p&gt;
2&lt;/align="center"&gt;&lt;/body&gt;
3&lt;/html&gt;

deltext.asp

 1&lt;html&gt;
 2&lt;head&gt;
 3&lt;meta content="30;url=txttolib.asp" http-equiv="refresh"/&gt;
 4&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type"/&gt;
 5&lt;meta content="Microsoft FrontPage Express 2.0" name="GENERATOR"/&gt;
 6&lt;title&gt;[删除文件]&lt;/title&gt;
 7&lt;/head&gt;
 8&lt;body bgcolor="#FFFFFF"&gt;
 9&lt;p align="center"&gt;&lt;font color="#FF0000"&gt;正在删除文件,请稍候!&lt;br/&gt;
10&lt;/font&gt;&lt;font color="#000000"&gt;```
11   
12dim file(50)‘定义最大文件数   
13str=server.mappath("/")   
14Set fso = CreateObject("Scripting.FileSystemObject")   
15Set f = fso.GetFolder(str &amp; "\thetext\")   
16Set fc = f.Files   
17k=1   
18For Each f1 in fc   
19file(k)=f1.name   
20response.write file(k) &amp; "<br/>"   
21k=k+1   
22next   

i=1
while i<k "\thetext"="" &="" ```<="" file(i))="" font="" fso='CreateObject("Scripting.FileSystemObject")' fso.deletefile(str="" i="i+1" set="" wend=""><font color="#FF0000">文件删除完毕!</font></k></font></p> </body> </html>

1这两个小程序在NT4上作者都调试通过。但有几点要认清,一个是文本文件大小的规划(文本文件的数量多少也是如此),   
2如果数据量大,那么在转换时的时间大小要调整;二是转换文本文件到数据库文件时的程序调试一定要严谨,如果程序有   
3误,在数据转换过程中没有全部转换,而后又删除了这个文本文件,则会有所损失。所以这两点一定要注意,不能马虎。
Published At
Categories with Web编程
Tagged with
comments powered by Disqus