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("读取成功!");
}
}
}
相关文章
- 07-31读存文件
- 07-31一解决友好的脏读脏存的方法
- 07-31图片字节流和字符串互转,读存图片。
- 07-31Oracle中存储图片的类型为BLOB类型,Java中如何将其读取并转为字符串?
- 07-31java操作oracle的blob,clob数据
- 07-31oracle中Blob、Clob、Varchar之间的互相转换
- 07-31改动Oracle GoldenGate(ogg)各个进程的读检查点和写检查点
- 07-31oracle 11g r2 blob类型getString报错问题
- 07-31问题:oracle CLOB类型;结果:oracle中Blob和Clob类型的区别
- 07-31Oracle中,如何将String插入到BLOB类型字段