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 ...
随机推荐
- AES加密解密的例子小结
话不多说,先放上代码,一共有两个文件:AES.php(aes算法类文件)和aesDemo.php(应用实例文件),这里只贴出aesDemo.php,其他的看附件吧!aesDemo.php: 例子, ...
- HTML+CSS学习笔记(3)- 认识标签(2)
HTML+CSS学习笔记(3)- 认识标签(2) 1.使用ul,添加新闻信息列表 在浏览网页时,你会发现网页上有很多信息的列表,如新闻列表.图片列表, 这些列表就可以使用ul-li标签来完成.ul-l ...
- LINQ(LINQ to Entities)
LINQ to Entities 是 LINQ 中最吸引人的部分.它让你可以使用标准的 C# 对象与数据库的结构和数据打交道.使用 LINQ to Entities 时,LINQ 查询在后台转换为 S ...
- 有道单词本添加js实现自动阅读单词
个人比较习惯使用有道,使用了一段时间,背单词的时候很不方便 而有道单词客户Duan没有自动阅读的功能, 本菜用强大的js实现了简单的自动下一个单词的功能, 方法:第一步打开有道路径下的" ...
- easyui知识累计.递增.
(001) 偶然发现 easyui 1.4.4 版本以下在使用easyloader时的一个bug(声明:只有在使用easyloader加载模块时有此问题) : (只测试过1.4.2, 1.4.3, 1 ...
- C++与Lua交互(三)
通过上一篇的热身,我们对C++调用lua变量有了一个认识,现在让我们再深入一点,去探索一下如何调用lua的函数.表. Lua与宿主通讯的关键--栈 lua是个动态脚本语言,它的数据类型如何映射到C++ ...
- Windows Phone 8.1 列表控件(1):基本
说到 List 控件,Windows Phone 8.1 上推荐使用的是 ListView 和 GridView. 而这两个控件实在太多东西可讲了,于是分成三篇来讲: (1)基本 (2)分组数据 (3 ...
- Git快速上手 : Tortoise工具使用
利用工具快速上手Git 别跟我说什么用命令操作Git,多高大上呀,请不要在这里跟我装逼,就如同,有个小妞在床上眉眼诱惑地,你却TM还要先看个片儿来热热身.... TortoiseGit 名字看着眼熟 ...
- opener 属性是一个可读可写的属性,可返回对创建该窗口的 Window 对象的引用
opener 属性是一个可读可写的属性,可返回对创建该窗口的 Window 对象的引用
- 破解网络投票IP限制、验证码限制、COokie限制、Seesion限制的方法!(转)
顾名思义,网络投票就是在网络上进行的投票活动,但和其他类型的投票不同的是:网络投票是建立在网络投票系统上的,而结果完全由程序输出,无需人工参与.这既是网络投票系统的优点也是其缺点,没有了人工的参与,其 ...