C# 操作Access的Ole对象[转]

原文链接

OLE对象数据类型

(1)OLE 对象用于使用 OLE 协议在其他程序中创建的 OLE 对象,如 Microsoft Word 文档、

Microsoft Excel 电子表格、图片、声音或其他二进制数据。 (2)Access中的Ole对象对应到C#中的数据类型是二进制的byte数组,对应到OleDbType.Binary类型。

使用方式和其他类型的字段使用方式是一样的,如使用参数化方式:

OleDbParameter param = new OleDbParameter("@Picture", OleDbType.Binary);

(3)所以,我们可以把图像、声音等文件以二进制形式存储到Access中去。

插入OLE对象: FileStream fileStream = new FileStream(filename, FileMode.Open); byte[] bFile = new byte[fileStream.Length];//分配数组大小 fileStream .Read(bFile, 0, (int)fileStream .Length);//将文件内容读进数组 fileStream .Close();//关闭文件对象

OleDbConnection conn = new OleDbConnection(connStr);//建立连接 conn.Open();//打开连接

OleDbCommand com = conn.CreateCommand();

//其中picture字段是OLE对象数据类型 com.CommandText = "Insert into Test(id, picture) Values(@id, @picture)"; com.Parameters.AddWithValue("@id", 0);   com.Parameters.AddWithValue("@picture", bFile);

com.ExecuteNonQuery();

读取OLE对象: OleDbConnection conn = new OleDbConnection(connStr); conn.Open();

OleDbCommand com = conn.CreateCommand(); com.CommandText = "Select picture From Test where id=0";

byte[] bFile = (byte[])com.ExecuteScalar();//读取之后转换成二进制字节数组

//处理二进制字节数组

MemoryStream stream = new MemoryStream(bFile); Image img = Image.FromStream(stream);//将二进制字节数组还原成原本的图像

时间: 2024-10-07 23:40:57

C# 操作Access的Ole对象[转]的相关文章

Access OLE对象和附件的区别

OLE 对象 来自 Office 和基于 Windows 的程序的图像.文档.图形和其他对象 最多可存储 2GB 数据(此大小限制适用于所有 Access 数据库).请记住,添加 2GB 数据会导致数据库操作缓慢.OLE 对象字段创建原始文档或其他对象的位图图像,然后在数据库的表字段以及窗体或报表控件中显示该位图. 为了让 Access 呈现这些图像,必须在运行数据库的计算机上注册 OLE 服务器(支持该文件类型的程序).如果没有为给定的文件类型注册 OLE 服务器,则 Access 将显示断开

MFC通过ADO操作Access数据库

我在<VC知识库在线杂志>第十四期和第十五期上曾发表了两篇文章--"直接通过ODBC读.写Excel表格文件"和"直接通过DAO读.写Access文件",先后给大家介绍了ODBC和DAO两种数据库访问技术的基本使用方法,这次要给大家介绍的是ADO数据库访问技术的使用方法.ADO(Active Data Object,活动数据对象)实际上是一种基于COM(组件对象模型)的自动化接口(IDispatch)技术,并以OLE DB(对象连接和镶入的数据库)为基础

C# 操作access db

1:如何读取DataSet 例:对象为ds ds.Table[0].Rows[0]["字段"].Value 就可以取得2:如何写到access数据库 代码有点多,建议重新搜索一下[C# 操作access] 有很多代码可用 参考:http://zhidao.baidu.com/question/296512460.html3:一开始access 不存在那么存在如下几个问题 A:如何利用C#创建一个access文件 参考:http://zhidao.baidu.com/question/2

C#操作access和SQL server数据库代码实例

在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同.那么,有哪些不同呢? 首先,需要引用不同的类.因为有着不同的数据引擎. access:using System.Data.OleDb; sql server:using System.Data.SqlClient; 下面是我写的access和sql 数据库操作的两个类: 1 //1.操作sql数据库的类 2 public class DBOperSQL1 3 { 4 public stati

Winform操作Access数据库增删改操作学习笔记

此程序是本人学习Winform操作Access数据库时学习笔记. 程序源码来源于:<Visual C# 2008 程序开发入门与提高 >赵增敏 编著 操作方法: 1.新建一个Winform项目,并将该项目设置为启动项目: 2.复制数据库文件到程序根目录下. 3.添加3个Label.两个TextBox.一个ListBox,四个Button控件. 4.窗体底部Label修改名称为“labelMsg”,两个文本框修改名称为:textboxSurname,textboxName. 5.列表框命名为Li

C#操作Access的一些小结

C#操作Access的一些小结 好久没有写blog,感觉今年一年都没怎么真正开心过,整天有一些事围绕在身边,使心情难以平静下来,真正写点有意义的东西.博客园是天天看的,看得多,写的少,偶尔也是Copy一篇技术文章放一下,便于自己将来查询. 最近有Winfom做了一个小系统,后台数据库是用Access,主要是单机版,考虑方便性,现在总结一些值得后来人参考的地方. 一,数据库操作基类 一般都要写个基类,这样,将来换数据库,换一下这个DA基类就行了.这个类也是从网上找的.不过感觉有的挺不错,一般就要返

CAD添加技术条件,如何在CAD中插入OLE对象?

CAD添加技术条件,如何在CAD中插入OLE对象,在CAD制图中,我们在日常的工作中经常使用CAD编辑器中的OLE对象功能,在图纸的任何位置插入OLE对象,但是在CAD中添加技术条件,如何在CAD中插入OLE对象,但是具体要怎么来进行操作了?下面小编教大家在迅捷CAD编辑器中添加技术条件,如何在CAD中插入OLE对象具体操作步骤,想要了解的朋友就一起来看看吧. 第一步:打开浏览器,在浏览器中搜索迅捷CAD编辑器,进入官网鼠标点击下载并进行安装最新版本的CAD编辑器,然后点击"打开"选项

实现一种快速查找Richedit中可见区域内OLE对象的方法

Richedit是一个OLE容器,使用Richedit来显示IM聊天内容时,通常使用OLE对象来实现在Richedit中播放表情动画. 触发表情的绘制有两种途径: 1.来自Richedit的刷新消息. 2.来自表情动画定时器的刷新消息. 要刷新表情的显示首先需要知道表情的显示位置. 第一种刷新过程中,绘制消息参数里已经给出绘制位置,直接在指定的位置绘制即可. 但是表情主动刷新时如何获取表情的显示位置确是一个问题. 网上有不少代码演示了如何获通过枚举Richedit中的OLE对象获取表情的代码.

C#操作Access

本文以ADOX操作Access 1.在C#中新建AccessClass.cs文件,内容如下 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Collections; 6 using System.IO; //包含File 7 using System.Data; //包含datatable 8 using System.Data