从Access数据库恢复BMP图像并显示在WEB页面(microsoft)
时间:2007-12-23 来源:不详 作者:迈克DB
HOWTO: Retrieving Bitmap from Access and Displaying In Web Page
--------------------------------------------------------------------------------
The information in this article applies to:
Active Server Pages
Microsoft Visual Basic Professional and Enterprise Editions for Windows, versions 5.0, 6.0
ActiveX Data Objects (ADO), versions 1.0, 1.5, 2.0, 2.1 SP2, 2.5
Microsoft Internet Information Server versions 4.0, 5.0
Microsoft Data Access Components version 2.5
--------------------------------------------------------------------------------
SUMMARY
This article shows by example how to extract the bitmap photos in the Microsoft Access 97 Northwind.mdb
database, and view them from a Web browser using Active Server Pages (ASP). In order to accomplish this
task, an ActiveX DLL must be created that strips the Access and OLE headers from the field. This article
织梦好,好织梦
shows how to create this ActiveX DLL, and how to implement it.
MORE INFORMATION
WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN RISK. Microsoft provides this
code "as is" without warranty of any kind, either express or implied, including but not limited to the
implied warranties of merchantability and/or fitness for a particular purpose.
This article demonstrates how to use Visual Basic to retrieve a bitmap stored in an OLE Object field.
Because the definition of OLE object storage is not documented, the following code searches the object's
OLE header for characters consistent with the start of the graphic. This method may not work in all
circumstances.
Be aware that Internet Explorer 3.0 is unable to display true color bitmaps. For this reason, the bitmaps
stored in the Access database should be no higher than 256 colors.
Step-by-Step Example to Extract the Photos
Create a new project in Visual Basic and make the project an ActiveX DLL.
copyright dedecms
Add a reference to ActiveX Data Objects (ADO) by clicking the Project menu and selecting References.
Select "Microsoft OLE DB ActiveX Data Objects 1.0 Library" and click OK.
Add a new module to the project by selecting the Project menu and clicking Add Module. Select Module and
click Open.
Place the following code in the (general) (declarations) section of MODULE1.BAS:
' Enter the following Declare statement as one single line:
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory"
(lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
Type PT
Width As Integer
Height As Integer
End Type
Type OBJECTHEADER
Signature As Integer
HeaderSize As Integer
ObjectType As Long
NameLen As Integer
上一篇:在VB中用代码打印ACCESS报表 下一篇:Access数据库操作中出现的怪现象
文章评论
共有位Admini5网友发表了评论 查看完整内容