zoukankan      html  css  js  c++  java
  • C#操作Oracle BLOB字段的写入读取方法

    1.写入BLOB

    string file_name = "D:\\20080523.jpg";
    string conn_str = "Provider=OraOLEDB.Oracle.1;Password=agoodjob;Persist Security Info=True;User ID=ams;Data Source=ims;Extended Properties=";//Provider必須用OraOLEDB.Oracle.1
    OleDbConnection cn = new OleDbConnection(conn_str);
    cn.Open();

    OleDbCommand cmd = new OleDbCommand("UPDATE BLOB SET PHOTO = ? ",cn);
    cmd.Parameters.Add("PHOTO",OleDbType.Binary);

    FileStream fs = new FileStream(file_name, FileMode.OpenOrCreate, FileAccess.Read);
    byte[] MyData= new byte[fs.Length];
    fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
    fs.Close();

    cmd.Parameters["PHOTO"].Value = MyData;
    try
    {
    int result = cmd.ExecuteNonQuery();
    if(result<1)
    {
    OleDbCommand cmd1 = new OleDbCommand(" INSERT INTO BLOB (PHOTO) VALUES ( ? )",cn);
    cmd1.Parameters.Add("PHOTO",OleDbType.Binary);
    cmd1.Parameters["PHOTO"].Value = MyData;
    result = cmd1.ExecuteNonQuery();
    }
    }
    catch(Exception e1)
    {
    Page.RegisterStartupScript("","<script language='javascript'>alert('"+e1.Message+"')</script>");
    }
    finally
    {
    cn.Close();
    }

    2.读取BLOB

    string conn_str = "Provider=OraOLEDB.Oracle.1;Password=agoodjob;Persist Security Info=True;User ID=ams;Data Source=ims;Extended Properties=";//Provider必須用OraOLEDB.Oracle.1

    OleDbDataAdapter da = new OleDbDataAdapter();
    DataSet ds = new DataSet();
    OleDbConnection conn = new OleDbConnection(conn_str);
    OleDbCommand cmd = new OleDbCommand("SELECT PHOTO FROM WEB_DB.USERS WHERE USER_ID = 1", conn);
    da.SelectCommand = cmd;
    cmd.Connection.Open();
    da.Fill(ds);

    byte[] img = new byte[0];
    DataRow dr;
    dr = ds.Tables[0].Rows[0];

    if (!ds.Tables[0].Rows[0]["PHOTO"].ToString().Equals(""))
    {
    img = (byte[])dr["PHOTO"];
    }

    Response.ContentType= "image/*";
    Response.BinaryWrite (img);

    conn.Close();

  • 相关阅读:
    积累-T
    HTML:文件标签(四)
    HTML:文件标签(三)
    HTML:文件标签(二)
    队列:最近的请求次数 (Leetcode 933 / Leetcode 232 / 剑指09 / Leetcode 225 / Leetcode 862 )
    HTML:文件标签(一)
    HTML: 介绍 & 规范
    java.sql.SQLException: Access denied for user 'root '@'localhost' (using password: YES)
    JDBC和XML- 学习笔记
    数据库: 商城案例
  • 原文地址:https://www.cnblogs.com/tracy/p/2089200.html
Copyright © 2011-2022 走看看