存读Blob Oracle

存读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,布布扣,bubuko.com

存读Blob Oracle

上一篇:Oracle EBS-SQL (BOM-5):检查有BOM但物料状态为NEW的物料.sql


下一篇:oracle断电重启之ORA-01033和ORA-01172