在我们做的许多管理系统中,除了保存大量的文字信息以外,有时候也需要保存一定数量的图片。例如:一个人事管理系统,就需要对每个人的照片进行保存,以便可以方便的对每个人的信息进行处理。 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;" _ amp; "Data Source=" amp; App.Path amp; "\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 =...