分享
 
 
 

使用FSO把文本信息导入数据库

王朝asp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

使用FSO把文本信息导入数据库

在开发WEB应用程序中,我们经常需要对文件系统中的驱动器、文件夹和文件进行处理,比如收集驱动器的相关信息;创建、添加、移动或删除文件夹和文件等。在VB6中新提供了一套称为FSO(File System Object)对象模型来对文件系统进行访问处理。该模型提供了一个基于对象的工具,通过它所提供的一系列属性和方法,我们可以在应用程序中更简单、灵活地对文件系统进行各种操作。

一、FSO简介

FSO对象模型包含以下几种对象:

Drive对象:允许收集系统物理或通过LAN与系统逻辑连接的硬盘、CD-ROM等驱动器的可用空间、共享名等信息。

Folder对象:允许创建、删除或移动文件夹,并向系统查询文件夹的名称、路径等。

Files对象:允许创建、删除或移动文件,并向系统查询文件的名称、路径等。

TextStream对象:允许创建和读写文本文件。

FileSystemObject对象:提供一整套用于驱动器、文件夹和文件操作的方法,在功能上可以把它看作是上面几个对象的集合并且经常与它们配合使用。与该对象相关联的很多方法重复了前面四个对象中的方法,因此我们既可以通过FileSystemObject对象来对驱动器、文件夹和文件进行大多数操作,也可以通过对应的驱动器、文件夹或文件对象对这些组件进行操作。FSO模型通过两种方法实现对同一对象的操作,其操作效果是相同的,提供这种冗余功能的目的是为了实现最大的编程灵活性。

在这篇文章中,我们将讲解利用FSO对象模型的TextStream对象对文本文件的操作。

(一) 用 FileSystemObject 来获取文本文件对象

1.创建一个 FileSystemObject 对象实例

要进行文件操作,首先必须创建一个 FileSystemObject 对象实例,用来创建或打开一个文件.创建一个 FileSystemObject 对象实例的具体格式为(以AFileSystemObject)为例:

Set AFileSystemObject = CreateObject("Scripting.FileSystemObjecct")

2.用 FileSystemObject 来获取文本文件对象TextStream

FileSystemObject 提供了两种方法用于获取文本文件对象 TextStream,其中用于创建

文件的是 CreateTextFile,用于打开已存在文件的是 OpenTextFile,两种方法的返回结果都是

一个 TextStream 对象的实例,利用该对象可以进行文件的具体操作.

⑴创建一个新文件

创建新文件的方法的具体格式为(以AFileSystemObject为例):

AFilesystemObject.CreateTextFile(NewFileName,OverwriteExistingFile,IsUnicode)

其中:

NewFileName 是一个string值,指定要建立的文件的名称,通常为文件的实际路径

加文件名称,如C:\webshare\aspsamp\filetest.txt

OverwriteExistingFile 是一个Boolean值,表示如果有同名文件存在时是否覆盖

原来的文件.该参数可以省略,缺省时为False,即不覆盖原来文件.

IsUnicode 是一个Boolean值,表示要建立的文件是ASCII文件还是Unicode文件,

该参数可以省略,缺省时为False,即为ASCII文件.

⑵打开已存在的文件

打开已存在文件的方法的具体格式为(以AFileSystemObject为例):

AFilesystemObject.OpenTextFile(FileName,IOMode,create,format)

其中:

FileName 是一个string值,指定要打开的文件的名称,通常为文件的实际路径

加文件名称,C:\filepath\test.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

<FORM METHOD=POST ACTION="upFile.asp" >

<div align="center"> <br>

<br>

<br>

<br>

<input type="file" name="path" size="40">

<INPUT TYPE="submit" name="dr" value="导入信息">

</div>

</FORM>

2、 编写把获取到的文本值保存到数据库代码:upFile.asp

<%@Language="VBScript"%>

<%Response.Buffer=true%>

<!--#include file="adovbs.inc"-->

<%

strConn="DSN=DataSourceName"

set Conn=Server.CreateObject("ADODB.Connection")

Conn.open strConn

set ObjComm=Server.CreateObject("ADODB.Command")

ObjComm.CommandText="sp_AddMsg" ‘调用存储过程

ObjComm.CommandType=adCmdStoredProc

Set ObjComm.ActiveConnection=Conn

''''''''''创建输入输出参数'''''''''''''''''

Set ObjParamECom=ObjComm.CreateParameter("WC_ECompanyName",adVarchar,adParamInput,100)

ObjComm.Parameters.Append ObjParamECom

'@in_ECompanyName Varchar(50), --公司英文名称

Set ObjParamAddr=ObjComm.CreateParameter("WC_Address",adVarchar,adParamInput,200)

ObjComm.Parameters.Append ObjParamAddr

'@in_Address Varchar(50), --公司地址

Set ObjParamCity=ObjComm.CreateParameter("WC_City",adVarchar,adParamInput,100)

ObjComm.Parameters.Append ObjParamCity

'@in_City Varchar(50), --城市

''''''''''创建参数完毕''''''''''''''''''''

%>

<%

dim AllText,strLine1,strLine2,strLine3

dim strpath,fileurl

fileurl=""

strpath=Trim(Request.form("path"))

fileurl=strpath

SET FSO=CreateObject("Scripting.FileSystemObject")

SET ATextStream=FSO.OpenTextFile(fileurl,1,false,TristateFalse)

'''''''''提取数据''''''''''''''''''''''''''''

DO WHILE NOT ATextStream.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)

'End if

''''''''''将变量加入参数集'''''''''''''

ObjParamECom.value=strLine1

ObjParamCCom.value=strLine2

ObjParamAddr.value=strLine3

''''''''''操作结束''''''''''''''''''''

ObjComm.Execute() '运行命令

LOOP

response.write "<br>"+"导入库成功!<a href=dolist.html>[继续导入]</a><br>"

set Conn=nothing

set FSO=nothing

set ATextStream=nothing

%>

附:存储过程sp_AddMsg代码

CREATE PROCEDURE dbo.sp_AddMsg --导入国外企业信息

(

@in_CompanyName Varchar(100), --公司名称

@in_Address Varchar(200), --公司地址

@in_City Varchar(100), --公司所在城市

)

AS

SET NOCOUNT ON

BEGIN TRAN

INSERT INTO Tb_WCLibrary(

WC_CompanyName,

WC_CCompanyName,

WC_Address,

)

VALUES(

@in_CompanyName,

@in_CCompanyName,

@in_Address,

)

IF @@ERROR <> 0

BEGIN

ROLLBACK TRAN

RETURN -1

END

COMMIT TRAN

RETURN 0

SET NOCOUNT OFF

至此,全文内容讲解结束,希望这篇文章能给读者带来一定的帮助。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有