using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OracleClient;
using System.IO;

namespace TestOraclBlob
{
    public partial class Form1 : Form
    {
        OracleConnection conn;
        public Form1()
        {
            InitializeComponent();
            string strCon = "Data Source=orcl;Persist Security Info=True;User ID=wcq;Password=wcq123;Unicode=True;";
            conn = new OracleConnection(strCon);
        }
        //写入数据库
        private void button1_Click(object sender, EventArgs e)
        {
            OracleCommand cmd = new OracleCommand("", conn);

string path = @"C:\Users\lenovo\Desktop\01.pdf";
            FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
            Byte[] fsByte = new byte[fs.Length]; //把图片转成 Byte型 二进制流  
            fs.Read(fsByte, 0, fsByte.Length);   //把二进制流读入缓冲区   
            fs.Close();

cmd.CommandText = "insert into Student(id,name,storeblob) values(1,'aa',:zp)";
            cmd.Parameters.Add(":zp", OracleType.BFile, fsByte.Length);
            cmd.Parameters[0].Value = fsByte;

conn.Open();
            cmd.ExecuteNonQuery();

MessageBox.Show("插入成功!");
            conn.Close();
        }

private void button2_Click(object sender, EventArgs e)
        {
            string path = @"C:\Users\lenovo\Desktop\2.pdf";

DataTable dt = new DataTable();
            OracleDataAdapter adapter = new OracleDataAdapter("select storeBlob from student", conn);

adapter.Fill(dt);
            Byte[] filebyte = (byte[])(dt.Rows[1][0]);

FileStream fs = new FileStream(path, FileMode.Create);

fs.Write(filebyte, 0, filebyte.GetLength(0));

fs.Close();

MessageBox.Show("读取成功!");
        }
    }

}

存读Blob Oracle的更多相关文章

  1. Unity3D — —存读档【转载】

    详细可参考此篇博文: Unity序列化之XML,JSON--------合成与解析 简单例子(SiKi学院教程): using System.Collections; using System.Col ...

  2. 如何读懂Oracle文档中的语法图(转)

    本文转载自:http://kyle.xlau.org/posts/syntax-diagrams.html Oracle文档中用到了两种表达语法的方法,语法图和BNF. BNF, Backus-Nau ...

  3. 【转】如何读懂Oracle文档中的语法图

    转自:http://blog.itpub.net/22990797/viewspace-750157/ Oracle文档中用到了两种表达语法的方法,语法图和BNF. BNF, Backus-Naur ...

  4. js cookie 数组 存读

    自己研究了一下. "Cookie里面只能放String 类型" 所以只能将arr的数据按照自己的约定转成string格式存进cookie. 这里提示一下cookie是存在本地浏览器 ...

  5. 三分钟读懂Oracle数据库容灾架之DataGuard

    Oracle数据库目前依然处于商用数据库的霸主地位. 运行在Oracle数据库上的核心业务及核心数据的安全性尤为重要. 目前市场上针对Oracle数据库常见的容灾产品大致可以分为两大类. Oracle ...

  6. 转://三分钟读懂Oracle数据库容灾架之DataGuard

    目前市场上针对Oracle数据库常见的容灾产品大致可以分为两大类. Oracle 公司自己的容灾产品 非Oracle公司的容灾产品 Oracle公司目前的容灾产品有我们常见的DataGuard和属于中 ...

  7. Unity - 存读档机制简析

    本文旨在于简要分析Unity中的两种存档机制,即:PlayerPrefs数据持久化方法及Serialization数据序列化方法 较比与源项目,我另加了JSON方法.XML方法等及一些Unity设置, ...

  8. (转载)VB 查询Oracle中blob类型字段,并且把blob中的图片以流的方式显示在Image上

    原文摘自:http://heisetoufa.iteye.com/blog/ '模块代码 Private Declare Function CreateStreamOnHGlobal Lib &quo ...

  9. ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析

    在ORACLE数据库中有物理读(Physical Reads).逻辑读(Logical Reads).一致性读(Consistant Get).当前模式读(DB Block Gets)等诸多概念,如果 ...

随机推荐

  1. Appium Server 传递iOS参数

    Appium  server  iOS Capabilities 参数 iOS Only Capability Description Values calendarFormat (Sim-only) ...

  2. Swift - 让StoryBoard设计视图,程序运行时都使用横屏形式

    1,运行时横屏 将项目属性“General”->“DeviceOritentation”的Portrait复选框去掉 2,storyboard设计视图横屏 在storyboard中,单击中间界面 ...

  3. Eclipse代码字体、颜色美化,更改字体大小、颜色

    先看效果: 感觉如何,是否比你的eclipse编辑器显示的代码要漂亮简洁呢?呵呵.这个是我原来ADT Eclipse的效果,现在去下居然更新掉了,找不到了.于是我就参照我原来的配置对这个新的Eclip ...

  4. iOS 开发学习35 本地化

    增新语言 打开Project-Info-Localizations 点击Localization下的+ 新增语言 定义多语言文件 新增String Files 在Supporting Files上.新 ...

  5. Swift - 按钮(UIButton)的用法

    1,按钮的创建 (1)按钮有下面四种类型: UIButtonType.ContactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果 UIButtonType.DetailDisc ...

  6. Qt中无处不在的d指针为何方神圣

    在研究QCoreApplication类的代码时,无意间弄明白了“d_func()”和“d指针”的来源: class Q_CORE_EXPORT QCoreApplication#ifndef QT_ ...

  7. GitHub上最火的40个iOS开源项目

    1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS. Mac OS X网络通信类库,现在是 ...

  8. OCaml Language Sucks

    OCaml Language Sucks OCaml Language Sucks

  9. python语言学习6——python基础

    Python是一种计算机编程语言. 以#开头的语句是注释,注释是给人看的,可以是任意内容 其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块. Python程序是大小写敏感的,如果写错 ...

  10. uva796(求桥数目)

    传送门:Critical Links 题意:给出一个无向图,按顺序输出桥. 分析:模板题,求出桥后排个序输出. #include <cstdio> #include <cstring ...