利用Vb保存一幅图到Access数据库

2008-02-23 06:51:16来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

   在我们做的许多管理系统中,除了保存大量的文字信息以外,有时候也需要保存一定数量的图片。例如:一个人事管理系统,就需要对每个人的照片进行保存,以便可以方便的对每个人的信息进行处理。

     Office中的Access数据库除了保存文本,还可以保存图片,保存图片的数据类型就是"OLE对象":它用来保存 Excel 电子表格、 Word 文档、图形、声音或其他二进制数据。

     我现在用一个例子介绍利用VB保存图片的方法,首先我们要介绍vb中处理二进制数据的语句:Put、Get。

   Put、Get语句语法如下:

   Put [#] filenumber,[recnumber],varname

   Get [#] filenumber,[recnumber],varname

   Filenumber :必需的。任何有效的文件号

   Recnumber :可选的。Variant(Long)。记录号(Random方式的文件)或字节数(Binary方式的文件),指明在此处开始写入

   Varname :必需的。包含要写入磁盘的数据的变量名

     说明:文件中的第一个记录或字节位于位置1,第二个记录或字节位于位置2,依次类推。若省略recnumber,则将上一个Get或Put语句之后的下一个记录或字节写入。所有用于分界的逗号都必须罗列出来。



    现在我们来开始建一个工程,功能是保存一个文档,同时可以保存一幅图片。

    首先我们建一个表(表名为photo),字段如下:





   字段名 类型 标题

   class 类别 文档的分类

   photo OLE对象 保存图片文件

   photo_ext 文本 图片的扩展名

   inputtime 日期/时间 文档输入的时间

   modifytime 日期/时间 文档的修改时间



   subject 文本 文本





   现在我们就可以创建finput窗口文件来保存图片。

   首先我们要连接我们的数据库,代码如下:

   Dim cnstr As String

   cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" _

   & "Data Source=" & App.Path & "\realize.mdb;Jet OLEDB:database "

   cn.Open cnstr

   cn.CursorLocation = adUseClient

   这段代码可以放在form_load事件中,当做一个多窗口的系统时,最好放到一个模块文件中,这样在其它窗口中都可以调用这个cn连接。

   下面是具体的窗口代码:

    VERSION 5.00

    Object= "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"

    Object= "{3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0"; "richtx32.ocx"

    Begin VB.Form finput

    BorderStyle = 0 'None

    Caption = "文档输入"

    ClientHeight = 6240

    ClientLeft = 0

    ClientTop = 0

    ClientWidth = 8955

    ControlBox = 0 'False

    LinkTopic = "Form1"

    MDIChild = -1 'True

    ScaleHeight = 6240

    ScaleWidth = 8955

    ShowInTaskbar = 0 'False

    Begin MSComDlg.CommonDialog CommonDialog1

    Left = 8040

    Top = 3840

    _ExtentX = 847

    _ExtentY = 847

    _Version = 393216

    End

    Begin VB.ComboBox Combo1

    Height = 300

    Left = 7080

    TabIndex = 10

    Top = 480

    Width = 1335

   End

    Begin VB.CommandButton Command3

    Caption = "关闭"

    Height = 375

    Left = 5280

    TabIndex = 8

    Top = 5640

    Width = 1095

   End

    Begin VB.CommandButton Command2

    Caption = "保存"

    Height = 375

    Left = 2520

    TabIndex = 7

    Top = 5640

    Width = 1095

   End

    Begin VB.CommandButton Command1

    Caption = "浏览"

    Height = 255

    Left = 8040

    TabIndex = 6

    Top = 4800

    Width = 735

   End

    Begin VB.TextBox Text2

    Height = 375

    Left = 1200

    TabIndex = 5

    Top = 4800

    Width = 6375

   End

    Begin RichTextLib.RichTextBox RichTextBox1

    Height = 3615

    Left = 1200

    TabIndex = 3

    Top = 960

    Width = 6375

    _ExtentX = 11245

    _ExtentY = 6376

    _Version = 393217

    Enabled = -1 'True

    TextRTF = $"finput.frx":0000

   End

    Begin VB.TextBox Text1

    Height = 375

    Left = 1200

    TabIndex = 2

    Top = 443

    Width = 4695

   End

    Begin VB.Label Label4

    Caption = "类别"

    Height = 255

    Left = 6240

    TabIndex = 9

    Top = 480

    Width = 615

   End

    Begin VB.Label Label3

    Caption = "图片"

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何实现VB程序登录密码加密

下一篇:如何获得系统光驱的盘符