VB将PDF流写入ACCESS数据库,通过AcroPDF控件读出PDF流之实现
问题描述:
1.把pdf文件写入access
2.读出时用AcroPDF控件
问题解答:
使用流对象保存和显示图片与文件
打开vb6,新建工程。
添加两个按钮,一个image控件
注意:Access中的photo字段类型为OLE对象.
SqlServer中的photo字段类型为Image
'**
引用 Microsoft ActiveX Data Objects 2.5 Library
及以上版本
‘2.5版本以下不支持Stream对象
Dim iConcstr As String
Dim iConc As
ADODB.Connection
'保存文件到数据库中
Sub s_SaveFile()
Dim iStm As
ADODB.Stream
Dim iRe As ADODB.Recordset
Dim iConcstr As
String
'读取文件到内容
Set iStm = New ADODB.Stream
With iStm
.Type =
adTypeBinary '二进制模式
.Open
.LoadFromFile App.Path + "\test.jpg"
End
With
'打开保存文件的表
Set iRe = New ADODB.Recordset
With
iRe
.Open "select * from img", iConc, 1, 3
.AddNew
'新增一条记录
.Fields("photo") = iStm.Read
.Update
End With
'完成后关闭对象
iRe.Close
iStm.Close
End Sub
Sub
s_ReadFile()
Dim iStm As ADODB.Stream
Dim iRe As
ADODB.Recordset
'打开表
Set iRe = New
ADODB.Recordset
‘得到最新添加的纪录
iRe.Open "select top 1 * from img order by id
desc", iConc, adOpenKeyset, adLockReadOnly
'保存到文件
Set iStm = New
ADODB.Stream
With iStm
.Mode = adModeReadWrite
.Type =
adTypeBinary
.Open
.Write
iRe("photo")
‘这里注意了,如果当前目录下存在test1.jpg,会报一个文件写入失败的错误.
.SaveToFile App.Path
& "\test1.jpg"
End With
Image1.Picture =
LoadPicture(App.Path &
"\test1.jpg")
'关闭对象
iRe.Close
iStm.Close
End Sub
Private
Sub Command1_Click()
Call s_ReadFile
End Sub
Private Sub
Command2_Click()
Call s_SaveFile
End Sub
Private Sub
Form_Load()
'数据库连接字符串
iConcstr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False" & _
";Data
Source=F:\csdn_vb\database\保存图片\access图片\img.mdb"
‘下面的语句是连接sqlserver数据库的.
‘iConcstr
= "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
‘ "User
ID=sa;Password=;Initial Catalog=test;Data Source=yang"
Set iConc =
New ADODB.Connection
iConc.Open iConcstr
End Sub
Private Sub
Form_Unload(Cancel As Integer)
iConc.Close
Set iConc = Nothing
End Sub
摘要:PDF文件可以当作图片来保存,参考:http://download.csdn.net/source/1467817
VB将PDF流写入ACCESS数据库,通过AcroPDF控件读出PDF流之实现的更多相关文章
- 如何使用免费PDF控件从PDF文档中提取文本和图片
如何使用免费PDF控件从PDF文档中提取文本和图片 概要 现在手头的项目有一个需求是从PDF文档中提取文本和图片,我以前也使用过像iTextSharp, PDFBox 这些免费的PD ...
- VB高效导入Excel2003和Excel2007文件到MSHFlexGrid控件显示
1.VB高效导入Excel2003和Excel2007文件到MSHFlexGrid控件显示 2.以前也有Excel导入通用功能,但速度有些慢一会把两种实现方式都提供出为参考对比. 一.原通用导入exc ...
- 如何显示二进制流的图片(利用img控件)
之前在http://www.cnblogs.com/JsonZhangAA/p/5568575.html博文中是利用的image控件来显示的二进制流图片,我现在想的是能 通过普通的<img id ...
- Android控件进阶-自定义流式布局和热门标签控件
技术:Android+java 概述 在日常的app使用中,我们会在android 的app中看见 热门标签等自动换行的流式布局,今天,我们就来看看如何 自定义一个类似热门标签那样的流式布局吧,类 ...
- SQLite数据库、ListView控件的使用
android下数据库的创建(重点) 在Android平台上,集成了一个轻量级嵌入式关系型数据库—SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本 ...
- 使用数据库绑定ListBox控件
1. The HTML Markup <div> <asp:ListBox ID="ListBox1" runat="server">& ...
- 在VB中动态执行VBS代码,可操控窗体控件
通过执行一段VBS代码来操控窗体内的控件也可以使用AddObject方法添加自己的类,那么在动态VBS代码中也一样可以使用在增加程序扩展性或是有脚本化需求的时候,这个方法还是不错的. Option E ...
- C#与数据库有关的控件和属性
BindingNavigator 数据记录导航 BindingSource 与数据源绑定, 常用属性:DataSource.DataMember 常用方法: DataGridView 以表格形式显示 ...
- PDF创建及动态转换控件程序包ActivePDF Portfolio
ActivePDF Portfolio是将4个activePDF最优秀的服务器产品捆绑成一个价格适中的控件程序包.它提供了开发一个完整的服务器端的PDF解决方案所需的一切. 具体功能: activeP ...
随机推荐
- Django学习--9 Admin
1.vim settings.py 打开 'django.contrib.admin' vim urls.py 打开 from django.contrib import admin (注意 ...
- replace替换语句
t_sql语句:replace替换语句:update 表名 set 列名=REPLACE(列名,'替换的数据','替换后的数据')
- 设计模式——设计模式之禅day2
接口隔离原则 接口分为两种: ● 实例接口( Object Interface) , 在Java中声明一个类, 然后用new关键字产生一个实例, 它是对一个类型的事物的描述, 这是一种接口. 比如你定 ...
- dreamweaver中用正则表达式查找替换批量删除 tppabs标签的方法
查找替换 正则表达式 \btppabs="h[^"]*" 后面不能有空格 你懂得的 选中右下角的 √[使用正则表达式] 替换全部
- AngularJS 学习随笔(一)
AngularJS 初始化加载流程: 1:浏览器载入HTML,然后把它解析成DOM 2:浏览器载入Angular.JS 脚本 3:AngularJS 等到DOMContentLoaded时间触发 4: ...
- php 中cookie和session的用法比较
1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session. ...
- Java Thread UncaughtExceptionHandler
有没有发生过这样的情况,你写的工作线程莫名其妙的挂了,如果不是被你刚好看到,拿只能抓瞎了,不知道啥原因了,因为异常的时候只会把stack trace打在控制台上,不会记在你想记得错误日志里,头皮都抓破 ...
- 第五十八篇、iOS 微信聊天发送小视频的秘密
对于播放视频,大家应该一开始就想到比较方便快捷使用简单的MPMoviePlayerController类,确实用这个苹果官方为我们包装好了的 API 确实有很多事情都不用我们烦心,我们可以很快的做出一 ...
- String str 与 String str=new String("") 区别
1.当使用String str="abc",这种方式时,先去内存的Heap中找是否存在"abc"这个字符串,若存在,则将地址引用.若不存在则创建. 2.当使用S ...
- Entity Framework 之三层架构
今天,我们谈一下如何用Entity Framework构建一个三层架构.即包括DAL层,BLL层和MODEL层.我们先看一下目录结构,如下图: 目录中,我们有Web层,AVON.DMS.Model是实 ...