优秀的软件开发团队:深圳升蓝软件 数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类     
热门推荐
升蓝OA办公自动化系统
基于.Net技术的网络
协同办公环境
 
ASP基础
数据库相关
安全加密
全文检索
ASP应用
打印相关
客户端相关
XML相关
系统相关
正则表达式
ASP技巧
组件开发
脚本编码
FSO专题
邮件相关
远程脚本
性能优化
 
相关链接
深圳升蓝软件:系统集成、办公自动化平台、电子商务、电子政务、Web数据库、企业网站、游戏、手机应用程序、CDMA软件、电子出版物等,为客户提供优秀的解决方案
 
升蓝(www.hi-blue.com)为企业管理、政府办公提供成熟的、易于实施的IT技术服务,我们的解决方案包括OA办公自动化系统CRM客户关系管理系统ERP企业生产管理和订单管理系统电子政务系统、知识管理系统、企业门户、商业智能、工程项目管理等等...
 
电子政务解决方案
塑料/橡胶管理系统
知识管理系统简介
多媒体光盘方案
ERP企业资源管理
订单计划管理系统
PM工程项目管理系统
会员管理系统
相关资料下载
OA办公自动化系统
CRM客户关系管理系统
在线试用版本说明
OA 系统的用户手册
 
 
 
 
升蓝开发团队 > 技术资料 > ASP技术 > 客户端相关 : ASP中文本文件与数据库文件的数据交换(FSO)

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


March 25,2004
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上作者都调试通过。但有几点要认清,一个是文本文件大小的规划(文本文件的数量多少也是如此),如果数据量大,那么在转换时的时间大小要调整;二是转换文本文件到数据库文件时的程序调试一定要严谨,如果程序有误,在数据转换过程中没有全部转换,而后又删除了这个文本文件,则会有所损失。所以这两点一定要注意,不能马虎。
数据库开发 | .Net技术 | ASP技术 | PHP技术 | JSP技术 | 应用技术类 | 升蓝开发小组
Copyright ? 2001-2004 Shenzhen Hi-blue Software Team 升蓝开发小组 All rights reserved