zoukankan      html  css  js  c++  java
  • 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);//将二进制字节数组还原成原本的图像

  • 相关阅读:
    centos 编码问题 编码转换 cd到对应目录 执行 中文解压
    centos 编码问题 编码转换 cd到对应目录 执行 中文解压
    centos 编码问题 编码转换 cd到对应目录 执行 中文解压
    Android MVP 十分钟入门!
    Android MVP 十分钟入门!
    Android MVP 十分钟入门!
    Android MVP 十分钟入门!
    mysql备份及恢复
    mysql备份及恢复
    mysql备份及恢复
  • 原文地址:https://www.cnblogs.com/flyant/p/4329101.html
Copyright © 2011-2022 走看看