存读Blob Oracle
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的更多相关文章
- Unity3D — —存读档【转载】
详细可参考此篇博文: Unity序列化之XML,JSON--------合成与解析 简单例子(SiKi学院教程): using System.Collections; using System.Col ...
- 如何读懂Oracle文档中的语法图(转)
本文转载自:http://kyle.xlau.org/posts/syntax-diagrams.html Oracle文档中用到了两种表达语法的方法,语法图和BNF. BNF, Backus-Nau ...
- 【转】如何读懂Oracle文档中的语法图
转自:http://blog.itpub.net/22990797/viewspace-750157/ Oracle文档中用到了两种表达语法的方法,语法图和BNF. BNF, Backus-Naur ...
- js cookie 数组 存读
自己研究了一下. "Cookie里面只能放String 类型" 所以只能将arr的数据按照自己的约定转成string格式存进cookie. 这里提示一下cookie是存在本地浏览器 ...
- 三分钟读懂Oracle数据库容灾架之DataGuard
Oracle数据库目前依然处于商用数据库的霸主地位. 运行在Oracle数据库上的核心业务及核心数据的安全性尤为重要. 目前市场上针对Oracle数据库常见的容灾产品大致可以分为两大类. Oracle ...
- 转://三分钟读懂Oracle数据库容灾架之DataGuard
目前市场上针对Oracle数据库常见的容灾产品大致可以分为两大类. Oracle 公司自己的容灾产品 非Oracle公司的容灾产品 Oracle公司目前的容灾产品有我们常见的DataGuard和属于中 ...
- Unity - 存读档机制简析
本文旨在于简要分析Unity中的两种存档机制,即:PlayerPrefs数据持久化方法及Serialization数据序列化方法 较比与源项目,我另加了JSON方法.XML方法等及一些Unity设置, ...
- (转载)VB 查询Oracle中blob类型字段,并且把blob中的图片以流的方式显示在Image上
原文摘自:http://heisetoufa.iteye.com/blog/ '模块代码 Private Declare Function CreateStreamOnHGlobal Lib &quo ...
- ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析
在ORACLE数据库中有物理读(Physical Reads).逻辑读(Logical Reads).一致性读(Consistant Get).当前模式读(DB Block Gets)等诸多概念,如果 ...
随机推荐
- 纯win32实现PNG图片透明窗体
#include <windows.h> #include <gdiplus.h> /* GDI+ startup token */ ULONG_PTR gdiplusSta ...
- 查找附近网点geohash算法及实现 (Java版本号)
參考文档: http://blog.csdn.net/wangxiafghj/article/details/9014363geohash 算法原理及实现方式 http://blog.charlee ...
- 小言C指针
指针c语言,占据着重要的地位.终场前int.char.double其他类别似.它是一种数据类型,其特殊的原因int等基本类型的变量存储内容,针变量存放的是地址. 内存被划分成很多但愿区 ...
- 内核空间和用户空间的分界 PAGE_OFFSET
PAGE_OFFSET 首先看看PAGE_OFFSET的功能 内存映射 | 用户空间 | 内核空间 | |——————+———— ...
- Eclipse扩展点
~~ org.eclipse.ui.actionSets(IWorkbenchWindowActionDelegate)|| org.eclipse.ui.commands 这两个扩展点都是对菜单进 ...
- 彻底搞定c指针
第一篇 变量的内存实质 一.先来理解C语言中变量的实质 要理解C指针,我认为一定要理解C中“变量”的存储实质,所以我就从“变量”这个东西开始讲起吧! 先来理解理解内存空间吧!请看下图: 内存地址→ ...
- Android服务之PackageManagerService启动源码分析
了解了Android系统的启动过程的读者应该知道,Android的所有Java服务都是通过SystemServer进程启动的,并且驻留在SystemServer进程中.SystemServer进程在启 ...
- html浏览器兼容性的 JavaScript语法
1. 在FireFox中能够使用与HTML节点对象ID属性值同样的JS变量名称.可是IE中不行. 解决的方法:在命名上区分HTML节点对象ID属性值和JS变量 2. IE不支持JS ...
- 跟我一起学extjs5(13--运行菜单命令在tabPanel中显示模块)
跟我一起学extjs5(13--运行菜单命令在tabPanel中显示模块) 上面设计好了一个模块的主界面,以下通过菜单命令的运行来把这个模块增加到主界面其中. 在MainModule. ...
- 连载:面向对象葵花宝典:思想、技巧与实践(28) - 设计原则:内聚&耦合
前面通过实例解说了一个一环扣一环的面向对象的开发流程:用例模型 -> 领域模型 -> 设计模型(类模型 + 动态模型),解答了面向对象怎样做的问题.接下来我们就要讲"怎样做好面向 ...