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;
                    }
                }
            }


        }
    }

  • 相关阅读:
    SqlServer实现Oracle的wm_concat()函数功能
    WebApi异常过滤器
    C#DataTable转List<Models>
    C#访问Oracle或SqlServer数据库遍历添加参数
    C#+.netFrameWork4.5.2+WebAPI+Jquery+Ajax跨域请求问题
    VS2015+Windows服务简易教程+文件夹监听
    C# rpt 批量打印写法
    C#model序列化xml
    oracle em无法连接数据库实例
    childNodes与children
  • 原文地址:https://www.cnblogs.com/kingwangzhen/p/1795274.html
Copyright © 2011-2022 走看看