从数据库连接文件中可以看出具体文件名
asa或asp后缀,也有mdb后缀
类似如下,在首页或每个页面上端有此连接内清雀旅容
TimesDB="../db/#$anfangwang#^^.mdb"'此为岁棚数据库文件
connstr="Provider=Microsoft.Jet.OLEDB.4.0Data Source=" &Server.MapPath(""&TimesDB&"")
On Error Resume Next
Set conn = Server.CreateObject("ADODB.Connection")
conn.open connstr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "数据库连接出错,请检查答凳Conn.asp中的数据库指向。"'
Response.End
End If
修改为.mdb后直接用Microsoft Office Access打开就能修改了
前提:要安装Microsoft Office Access软件
'-----保存文件Dim sPth As String
sPth = App.Path &"\%%bmp%2%.tmp" '定义一个临时文件
SavePicture Image1.Picture, sPth
DBFileSave rs("照片"), sPth
Kill sPth '删除临时文件
'------读取文件
Set Image1.Picture = DBFileRead(rs("照核袭片"))
'保袜行存文件到数据库中的二进告氏哗制字段中。保存成功返回True
'参数 Fld 为库中的一个二进制字段;DiskFile 为一个已经存在的文件名
'示例:DBFileSave rs("img"), "C:\temp\im1.bmp"
Public Function DBFileSave(ByRef Fld As ADODB.Field, DiskFile As String) As Boolean
Dim ByteData() As Byte
Dim NumBlocks As Long
Dim FileLength As Long
Dim LeftOver As Long
Dim SourceFile As Long
Const BLOCKSIZE = 4096
Dim i As Long
SourceFile = FreeFile
Open DiskFile For Binary Access Read As SourceFile
FileLength = LOF(SourceFile)
If FileLength = 0 Then
Close SourceFile
'MsgBox DiskFile &vbCrLf &"无内容或不存在!"
Else
NumBlocks = FileLength \ BLOCKSIZE
LeftOver = FileLength Mod BLOCKSIZE
Fld.Value = Null
ReDim ByteData(BLOCKSIZE)
For i = 1 To NumBlocks
Get SourceFile, , ByteData()
Fld.AppendChunk ByteData()
Next i
ReDim ByteData(LeftOver)
Get SourceFile, , ByteData()
Fld.AppendChunk ByteData()
Close SourceFile
DBFileSave = True
End If
End Function
'读取并返回一个数据库中的 Picture
'参数 Fld 为库中的一个二进制字段
'示例:Set Image1.Picture = DBFileRead(rs("imgOLE"))
Public Function DBFileRead(ByRef Fld As ADODB.Field) As StdPicture
Const ChunkSize As Integer = 4096 '2384
Dim Chunk() As Byte
Dim DataFile As Integer, Chunks, Fragment As Integer
Dim lngOffset, lngTotalSize As Long
Dim MediaTemp As String
Dim i As Integer
MediaTemp = App.Path &"\%%bmp%1%.tmp"
DataFile = 1
Open MediaTemp For Binary Access Write As DataFile
lngTotalSize = Fld.ActualSize
Chunks = lngTotalSize \ ChunkSize
Fragment = lngTotalSize Mod ChunkSize
ReDim Chunk(Fragment)
If Fld.ActualSize >1 Then
Chunk() = Fld.GetChunk(Fragment)
Put DataFile, , Chunk()
For i = 1 To Chunks
ReDim Chunk(ChunkSize)
Chunk() = Fld.GetChunk(ChunkSize)
Put DataFile, , Chunk()
Next i
If Dir(MediaTemp) = "" Then Exit Function
Set DBFileRead = LoadPicture(MediaTemp)
Else
Set DBFileRead = Nothing
End If
Close DataFile
Kill MediaTemp
End Function
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)