asp 读服务器文本文件,ASP中文本文件与数据库文件的数据交换

【xiaow】 于 2000-10-21 23:08:26 加贴在 joy asp ↑:

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

网络数据库的应用是www上一个很重要的组成部分,可以这样说,如果缺少了数据库,网络也就失去了灵魂。大家可以想象

一下,如果没有象yahoo,sohu等搜索引擎的话,那么在网上寻找一个目标变得多么困难,大家在茫茫网海里变得不知所

往,动辄迷失方向。其实,这些搜索引擎是网络数据库的最典型的应用,在asp(active server pages)技术里对数据库

的直接操作是比较多的,下面讲述一种由文本文件向数据库文件传递数据的方法。

这个文本文体是由终端采集传送到服务器的一个固定目录下,由服务器去读取数据并存放在本机数据库里,转换完后删除

掉这个文本文件。这样终端负责采集数据,并按给定的格式上传到服务器的指定目录下,服务器端的数据库对终端来讲是

完全不透明的,保障了服务器的安全,对现在的网络数据库应用来讲或许有点帮助。

txttolib.asp

content="text/html; charset=gb_2312-80">

[把文本文件转换成数据库文件]

正在处理数据,请稍候!

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

%>

set fs = createobject("scripting.filesystemobject")%>

while ii

response.write file(ii) & "
"

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 %>

数据处理完毕!

deltext.asp

content="text/html; charset=gb_2312-80">

[删除文件]

正在删除文件,请稍候!

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) & "
"

k=k+1

next

%>

while i

set fso = createobject("scripting.filesystemobject")

fso.deletefile(str & "\thetext\" & file(i))

i=i+1

wend

%>

文件删除完毕!

这两个小程序在nt4上作者都调试通过。但有几点要认清,一个是文本文件大小的规划(文本文件的数量多少也是如此),

如果数据量大,那么在转换时的时间大小要调整;二是转换文本文件到数据库文件时的程序调试一定要严谨,如果程序有

误,在数据转换过程中没有全部转换,而后又删除了这个文本文件,则会有所损失。所以这两点一定要注意,不能马虎。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值