zoukankan      html  css  js  c++  java
  • 向oracle 数据库写入 LOBs 数据

    create or replace procedure UpdatePhoto(v_id in integer,v_binaryPhoto in blob) is
    begin
      update usersinfo u set u.photo=v_binaryPhoto where u.id=v_id;
    end UpdatePhoto;

    /

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using Oracle.DataAccess.Client;
    using Oracle.DataAccess.Types;

    namespace winformOracleDemo
    {
        public partial class BlobAndBFiles : Form
        {
            public BlobAndBFiles()
            {
                InitializeComponent();
            }

            private void BlobAndBFiles_Load(object sender, EventArgs e)
            {

            }

            private void BtnUpLoad_Click(object sender, EventArgs e)
            {
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    textBox1.Text = openFileDialog1.FileName;

                    byte[] bytePhoto = System.IO.File.ReadAllBytes(openFileDialog1.FileName);

                    try
                    {
                        using (OracleConnection conn = new OracleConnection(BusinessTools.ConnectionString))
                        {
                            conn.Open();

                       
                            OracleCommand cmd = conn.CreateCommand();
                            cmd.CommandText = "UpdatePhoto";
                            cmd.CommandType = CommandType.StoredProcedure;

                            OracleParameter paraId = new OracleParameter();
                            paraId.ParameterName = "v_id";
                            paraId.OracleDbType = OracleDbType.Int32;
                            paraId.Direction = ParameterDirection.Input;
                            paraId.Value = Convert.ToInt32(txtUserID.Text.Trim());
                            cmd.Parameters.Add(paraId);

                            OracleBlob orclBlob = new OracleBlob(conn);
                            orclBlob.Write(bytePhoto, 0, bytePhoto.Length);

                            OracleParameter paraPhoto = new OracleParameter();
                            paraPhoto.ParameterName = "v_binaryPhoto";
                            paraPhoto.OracleDbType = OracleDbType.Blob;
                            paraPhoto.Value = orclBlob;
                            paraPhoto.Direction = ParameterDirection.Input;                     

                            cmd.Parameters.Add(paraPhoto);

                            cmd.ExecuteNonQuery();
                        
                        }
                    }
                    catch (Exception ex)
                    {
                        string ss = ex.Message;
                    }
                }
            }


        }
    }

  • 相关阅读:
    java基础练习 4
    java基础练习 5
    java基础练习 3
    java基础练习 2
    二级联动菜单动态刷新下拉列表的一种实现方法
    疯狂Java讲义笔记(二)
    Windows10 Internet Explorer已停止工作的解决方法
    Git笔记
    Spring Boot笔记
    maven笔记
  • 原文地址:https://www.cnblogs.com/kingwangzhen/p/1795274.html
Copyright © 2011-2022 走看看