adodb Stream 详细用法
组件:"Adodb.Stream"
有下列方法:
Cancel 方法
使用方法如下
Object.Cancel
说明:取消执行挂起的异步 Execute 或 Open 方法的调用。
Close 方法
使用方法如下
Object.Close
:关闭对像
CopyTo 方法
使用方法如下
Object.CopyTo(destStream,[CharNumber])
说明:将对像的数据复制,destStream指向要复制的对像,CharNumber为可选参数,指要复制的字节数,不选为全部复制。
Flush 方法
使用方法如下
Object.Flush
说明:
LoadFromFile 方法
使用方法如下
Object.LoadFromFile(FileName)
说明:将FileName指定的文件装入对像中,参数FileName为指定的用户名。
Open 方法
使用方法如下
Object.Open(Source,[Mode],[Options],[UserName],[Password])
说明:打开对像,
参数说明:Sourece 对像源,可不指定
Mode 指定打开模式,可不指定,可选参数如下:
adModeRead =1
adModeReadWrite =3
adModeRecursive =4194304
adModeShareDenyNone =16
adModeShareDenyRead =4
adModeShareDenyWrite =8
adModeShareExclusive =12
adModeUnknown =0
adModeWrite =2
Options 指定打开的选项,可不指定,可选参数如下:
adOpenStreamAsync =1
adOpenStreamFromRecord =4
adOpenStreamUnspecified=-1
UserName 指定用户名,可不指定。
Password 指定用户名的密码
Read 方法
使用方法如下:
Object.Read(Numbytes)
说明:读取指定长度的二进制内容。
参数说明:Numbytes指定的要读取的找度,不指定则读取全部。
ReadText 方法
使用方法如下:
Object.ReadText(NumChars)
说明:读取指定长度的文本
参数说明:NumChars指定的要读取的找度,不指定则读取全部。
SaveToFile 方法
使用方法如下:
Object.SaveToFile(FileName,[Options])
说明:将对像的内容写到FileName指定的文件中
参数说明:FileName指定的文件
Options 存取的选项,可不指定,可选参数如下:
adSaveCreateNotExist =1
adSaveCreateOverWrite =2
SetEOS 方法
使用方法如下:
Object.setEOS()
说明:
SkipLine 方法
使用方法如下:
Object.SkipLine()
说明:
Write 方法
使用方法如下:
Object.Write(Buffer)
说明:将指定的数据装入对像中。
参数说明:Buffer 为指定的要写入的内容。
WriteText 方法
使用方法如下:
Object.Write(Data,[Options])
说明:将指定的文本数据装入对像中。
参数说明:Data 为指定的要写入的内容。
Options 写入的选项,可不指定,可选参数如下:
adWriteChar =0
adWriteLine =1
有下列属性:
Charset
EOS 返回对像内数据是否为空。
LineSeparator 指定换行格式,可选参数有
adCR =13
adCRLF =-1
adLF =10
Mode 指定或返加模式。
Position 指定或返加对像内数据的当前指针。
Size 返回对像内数据的大小。
State 返加对像状态是否打开。
Type 指定或返回的数据类型,可选参数为:
adTypeBinary =1
adTypeText =2
用Adodb.Stream将以二进制方式保存在数据库中的文件保存到硬盘
内容: 用Adodb.Stream将以二进制方式保存在数据库中的文件保存到硬盘
对于上传的数据库中的文件有的时候需要保存成硬盘上的文件,下面的代码以ACCESS数据库为例,演示怎样通过Adodb.Stream将文件保存到硬盘
表:Demo的结构
=======================================
id: 自动编号
filename:文本
data: OLE 对象
代码
=======================================
以下是引用片段: <% Dim Conn,ConnStr,Rs,Sql,MyStream ConnStr="DBQ=" + Server.Mappath("Demo.mdb") + ";DRIVER={Microsoft Access Driver (*.mdb)};" Set Conn = Server.CreateObject("Adodb.Connection") Conn.Open ConnStr Sql = "select * from demo where id=1" Set Rs = Server.CreateObject("Adodb.RecordSet") Rs.Open Sql,Conn,1,3 Set MyStream=Server.CreateObject("Adodb.Stream") MyStream.Type = 1 MyStream.Open MyStream.Write Rs("data").GetChunk(rs("data").ActualSize-78) MyStream.SaveToFile "c:\" & Rs("fileName") Rs.Close Set Rs = Nothing Conn.Close Set Conn = Nothing |
利用ADODB.Stream对象将字节流转换为字符流
内容: ASP中利用ADODB.Stream对象将字节流转换为字符流
以下是引用片段: '-------------------------------------------------------------------- ' 二进制转字符串 ' ' 入口参数:字节流 ' 函数返回:字符串 ' Code By:Madpolice 2002-12-20 ' 利用 ADODB.Stream 对象,速度比原来的字符替换法快了n倍,n≈30!!) '-------------------------------------------------------------------- '下面的常量是函数用到的,因为我在函数外面已经定义过了,因此不在这里重复定义 '---- StreamTypeEnum Values ---- 'Const adTypeBinary = 1 'Const adTypeText = 2 Function Bytes2bStr(vin) Set BytesStream = Server.CreateObject("ADODB.Stream") '建立一个流对象 .Position = 0 '设置流对象的起始位置是0,也就是开头 Bytes2bStr = StringReturn End Function |
利用ADODB.Stream使用浏览器下载服务器文件
内容: download.asp?file=相对路径的文件
就可以把这个文件下载下来
以下是引用片段: <% call downloadFile(replace(replace(Request("file"),"\",""),"/","")) Function downloadFile(strFile)
' get full path of specified file
' clear the buffer 'create stream 'Set as binary 'load in the file
' check the file exists
' get length of file s.LoadFromFile(strFilename) ' send the headers to the users browser ' output the file to the browser
' tidy up End Function %> |
From:http://blog.cnknow.com/blogview.asp?logID=122
版权声明:
作者:Kiyo
链接:https://www.wkiyo.cn/html/2008-01/i495.html
来源:Kiyo's space
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论