ASP教程之利用FSO把文本信息导进数据库
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。fso|导进数据|数据库在开辟WEB使用程序中,我们常常必要对文件体系中的驱动器、文件夹和文件举行处置,好比搜集驱动器的相干信息;创立、增加、挪动或删除文件夹和文件等。在VB6中新供应了一套称为FSO(FileSystemObject)工具模子来对文件体系举行会见处置。该模子供应了一个基于工具的工具,经由过程它所供应的一系列属性和办法,我们能够在使用程序中更复杂、天真地对文件体系举行各类操纵。
1、FSO简介
FSO工具模子包括以下几种工具:
Drive工具:同意搜集体系物理或经由过程LAN与体系逻辑毗连的硬盘、CD-ROM等驱动器的可用空间、共享名等信息。
Folder工具:同意创立、删除或挪动文件夹,并向体系查询文件夹的称号、路径等。
Files工具:同意创立、删除或挪动文件,并向体系查询文件的称号、路径等。
TextStream工具:同意创立和读写文本文件。
FileSystemObject工具:供应一整套用于驱动器、文件夹和文件操纵的办法,在功效上能够把它看做是下面几个工具的汇合而且常常与它们共同利用。与该工具相干联的良多办法反复了后面四个工具中的办法,因而我们既能够经由过程FileSystemObject工具来对驱动器、文件夹和文件举行年夜多半操纵,也能够经由过程对应的驱动器、文件夹或文件工具对这些组件举行操纵。FSO模子经由过程两种办法完成对统一工具的操纵,其操纵效果是不异的,供应这类冗余功效的目标是为了完成最年夜的编程天真性。
在这篇文章中,我们将解说使用FSO工具模子的TextStream工具对文本文件的操纵。
(一)用FileSystemObject来猎取文本文件工具
1.创立一个FileSystemObject工具实例
要举行文件操纵,起首必需创立一个FileSystemObject工具实例,用来创立或翻开一个文件.创立一个FileSystemObject工具实例的详细格局为(以AFileSystemObject)为例:
SetAFileSystemObject=CreateObject("Scripting.FileSystemObjecct")
2.用FileSystemObject来猎取文本文件工具TextStream
FileSystemObject供应了两种办法用于猎取文本文件工具TextStream,个中用于创立
文件的是CreateTextFile,用于翻开已存在文件的是OpenTextFile,两种办法的前往了局都是
一个TextStream工具的实例,使用该工具能够举行文件的详细操纵.
⑴ 创立一个新文件
创立新文件的办法的详细格局为(以AFileSystemObject为例):
AFilesystemObject.CreateTextFile(NewFileName,OverwriteExistingFile,IsUnicode)
个中:
NewFileName是一个string值,指定要创建的文件的称号,一般为文件的实践路径
加文件称号,如C:webshareaspsampfiletest.txt
OverwriteExistingFile是一个Boolean值,暗示假如有同名文件存在时是不是掩盖
本来的文件.该参数能够省略,缺省时为False,即不掩盖本来文件.
IsUnicode是一个Boolean值,暗示要创建的文件是ASCII文件仍是Unicode文件,
该参数能够省略,缺省时为False,即为ASCII文件.
⑵ 翻开已存在的文件
翻开已存在文件的办法的详细格局为(以AFileSystemObject为例):
AFilesystemObject.OpenTextFile(FileName,IOMode,create,format)
个中:
FileName是一个string值,指定要翻开的文件的称号,一般为文件的实践路径
加文件称号,C:filepath est.txt
IOMode是常数值,暗示翻开文件的目标,ForReading(1)暗示用于读取数据;
ForAppending暗示用于增添数据.该参数能够省略,缺省时为ForReading.
Create是一个Boolean值,暗示要翻开的文件不存在时是不是创立新文件,
该参数能够省略,缺省时为False,即不创立新文件.
Format暗示文件翻开的体例.其大概的值及寄义以下:
TristateTrue:以Unicode的体例翻开.
TristateFalse:以ASCII的体例翻开.
TristateUseDefault:以体系默许的体例翻开.
该参数能够省略,缺省时为TristateFalse,即ASCII体例.
(二).用TextStream举行文件操纵
在创建或翻开了文件以后,便可使用工具TextStream供应的办法举行文件的实践操纵了.
1.用于写操纵的办法有:
⑴ Write(string)
将由string指定的字符串写进到文件中.
⑵ WriteLine(string)
在文件中写进由string指定的字符串,并写进一个换行字符.
参数string能够省略,此时将在文件中拔出一个空行.
⑶ WriteBlankLines(NumOfLines)
在文件中拔出多少空行,行数由NumOfLines指定.
2.用于读操纵的办法和属性办法有:
⑴ AtEndOfLine
该属性是一个Boolean值,暗示文件指针是不是已指向以后行的行尾.
⑵ AtEndOfStream
该属性是一个Boolean值,暗示文件指针是不是已指向文件尾.
⑶ Column
该属性是一个整数值,暗示文件指针在以后行中的地位.
⑷ Line
该属性是一个整数值,暗示文件指针地点行的行号.
⑸ Read(NumOfCharacters)
该办法从文件以后地位入手下手,读进由NumOfCharacters数量指定的多少字符,前往一个
字符串.
⑹ ReadLine
该办法从文件以后地位入手下手,读进以后行的内容直到行尾,前往一个字符串.
⑺ ReadAll
该办法从以后地位入手下手,读进全部文件的内容直到文件停止,前往一个字符串.
⑻ Skip(NumOfCharacters)
该办法从文件以后地位入手下手,跳过由NumOfCharacters数量指定的多少字符.
⑼ SKipLine
该办法从文件以后地位入手下手,跳过以后行的内容.
3.用于封闭文件的办法有:
⑴ Close
封闭已创建或翻开的文件.
(三)、上面就以一个实例来讲明怎样利用FSO来读取文本文件和怎样保留到数据库:
1、先创立一个读取文件路径的页面:file.htm
…
<FORMMETHOD=POSTACTION="upFile.asp">
<divalign="center"><br>
<br>
<br>
<br>
<inputtype="file"name="path"size="40">
<INPUTTYPE="submit"name="dr"value="导进信息">
</div>
</FORM>
…
2、编写把猎取到的文本值保留到数据库代码:upFile.asp
<%@Language="VBScript"%>
<%Response.Buffer=true%>
<!--#includefile="adovbs.inc"-->
<%
strConn="DSN=DataSourceName"
setConn=Server.CreateObject("ADODB.Connection")
Conn.openstrConn
setObjComm=Server.CreateObject("ADODB.Command")
ObjComm.CommandText="sp_AddMsg"‘挪用存储历程
ObjComm.CommandType=adCmdStoredProc
SetObjComm.ActiveConnection=Conn
创立输出输入参数
SetObjParamECom=ObjComm.CreateParameter("WC_ECompanyName",adVarchar,adParamInput,100)
ObjComm.Parameters.AppendObjParamECom
@in_ECompanyNameVarchar(50),--公司英文称号
SetObjParamAddr=ObjComm.CreateParameter("WC_Address",adVarchar,adParamInput,200)
ObjComm.Parameters.AppendObjParamAddr
@in_AddressVarchar(50),--公司地点
SetObjParamCity=ObjComm.CreateParameter("WC_City",adVarchar,adParamInput,100)
ObjComm.Parameters.AppendObjParamCity
@in_CityVarchar(50),--乡村
…
创立参数终了
%>
<%
dimAllText,strLine1,strLine2,strLine3
dimstrpath,fileurl
fileurl=""
strpath=Trim(Request.form("path"))
fileurl=strpath
SETFSO=CreateObject("Scripting.FileSystemObject")
SETATextStream=FSO.OpenTextFile(fileurl,1,false,TristateFalse)
提取数据
DOWHILENOTATextStream.AtEndOfStream
初始化变量
strLine1=""
strLine2=""
strLine3=""
…
ATextStream.SkipLine
ATextStream.Skip(11)
strLine1=Trim(ATextStream.ReadLine)
ATextStream.Skip(11)
strLine2=Trim(ATextStream.ReadLine)
ATextStream.Skip(5)
strLine3=Trim(ATextStream.ReadLine)
…
Endif
将变量到场参数集
ObjParamECom.value=strLine1
ObjParamCCom.value=strLine2
ObjParamAddr.value=strLine3
…
操纵停止
ObjComm.Execute()运转命令
LOOP
response.write"<br>"+"导进库乐成!<ahref=dolist.html>[持续导进]</a><br>"
setConn=nothing
setFSO=nothing
setATextStream=nothing
%>
附:存储历程sp_AddMsg代码
CREATEPROCEDUREdbo.sp_AddMsg--导进外洋企业信息
(
@in_CompanyNameVarchar(100),--公司称号
@in_AddressVarchar(200),--公司地点
@in_CityVarchar(100),--公司地点乡村
…
)
AS
SETNOCOUNTON
BEGINTRAN
INSERTINTOTb_WCLibrary(
WC_CompanyName,
WC_CCompanyName,
WC_Address,
…
)
VALUES(
@in_CompanyName,
@in_CCompanyName,
@in_Address,
…
)
IF@@ERROR0
BEGIN
ROLLBACKTRAN
RETURN-1
END
COMMITTRAN
RETURN0
SETNOCOUNTOFF
至此,全文内容解说停止,但愿这篇文章能给读者带来必定的匡助。
asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
页:
[1]