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();

  • 相关阅读:
    Oracle队列锁enq:US,Undo Segment
    Oracle队列锁:IV,Library Cache Invalidation
    Oracle队列锁enq:TS,Temporary Segment (also TableSpace)
    CSS在IE6、7、8中的差别
    javascript+HTML+CSS面试题
    工作中遇到的CSS问题
    10种顶级javascript框架比较The Top 10 Javascript MVC Frameworks
    比较好的Javascript资源学习网站
    css sprite网页优化技术
    IE6_BUG解决方案
  • 原文地址:https://www.cnblogs.com/tracy/p/2089200.html
Copyright © 2011-2022 走看看