读取二进制大对象

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.IO;
using System.Data.SqlClient;

namespace main
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnUpload_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "*.jpg|*.jpg|*.png|*.png|*.bmp|*.bmp";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                string fileName = ofd.FileName;
                FileStream fs = new FileStream(fileName, FileMode.Open);
                byte[] imageBytes = new byte[fs.Length];
                BinaryReader br = new BinaryReader(fs);
                imageBytes = br.ReadBytes(Convert.ToInt32(fs.Length));

                string s = "server=PC-20171113RBMO;database=StudentDB;Trusted_Connection=true";
                SqlConnection con = new SqlConnection(s);

                string c = "insert into Pic(image) values(@pic)";
                SqlCommand cmd = new SqlCommand(c, con);
                SqlParameter para = new SqlParameter("@pic", SqlDbType.Image);
                para.Value = imageBytes;
                cmd.Parameters.Add(para);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }
        }

        private void btnRead_Click(object sender, EventArgs e)
        {
            string s = "server=PC-20171113RBMO;database=StudentDB;Trusted_Connection=true";
            SqlConnection con = new SqlConnection(s);
            string c = "select image from Pic where ID = " + textBox1.Text.Trim();
            SqlCommand cmd = new SqlCommand(c, con);
            con.Open();
            byte[] image = (byte[])cmd.ExecuteScalar();
            con.Close();

            MemoryStream ms = new MemoryStream(image);
            Bitmap bmp = new Bitmap(ms);
            pictureBox1.Image = bmp;
        }
    }
}
时间: 2024-10-15 00:42:16

读取二进制大对象的相关文章

HTML5中的二进制大对象Blob(转)

HTML5中的Blob对象和MYSQL中的BLOB类型在概念上是有点区别的.MYSQL中的BLOB类型就只是个二进制数据容器.而HTML5中的Blob对象除了存放二进制数据外还可以设置这个数据的MINE类型,这相当于对文件的储存,其它很多二进制对象也是从这个对象继承的. 一个Blob对象就是一个包含有只读原始数据的类文件对象.Blob对象中的数据并不一定得是JavaScript中的原生形式.File接口基于Blob,继承了Blob的功能,并且扩展支持了用户计算机上的本地文件. 创建Blob对象的

sqlite3中BLOB数据类型存储大对象运用示例

1:常用接口 个人比较喜欢sqlite, 使用最方便,唯一的准备工作是下载250K的源:而且作者很热心,有问必答. 以下演示一下使用sqlite的步骤,先创建一个数据库,然后查询其中的内容.2个重要结构体和5个主要函数: sqlite3               *pdb, 数据库句柄,跟文件句柄FILE很类似 sqlite3_stmt      *stmt, 这个相当于ODBC的Command对象,用于保存编译好的SQL语句 sqlite3_open(),   打开数据库 sqlite3_e

jdbc插入大对象及读取大对象

1 /** 2 * 插入大对象 3 */ 4 @Test 5 public void testSavePic(){ 6 Connection conn=null; 7 Statement st=null; 8 PreparedStatement pst=null; 9 try { 10 conn=DBUtils.getConn(); 11 conn.setAutoCommit(false);//事物不能自动提交 12 st=conn.createStatement(); 13 long star

Hibernate 中 联合主键映射 组合关系映射 大对象映射(或者说文本大对象,二进制数据大对象)

Clob:文本大对象,最长4G Blob:二进制数据大对象,最长4G util: public class HibUtil { private static SessionFactory sessionFactory; static{ //获取配置信息 hibernate.cfg.xml Configuration configuration = new Configuration().configure(); //创建一个 ServiceRegistry的实例 //首先获得其标准建造器,此处用

hibernate 大对象类型的hibernate映射

基本知识: 在 Java 中, java.lang.String 可用于表示长字符串(长度超过 255), 字节数组 byte[] 可用于存放图片或文件的二进制数据. 此外, 在 JDBC API 中还提供了 java.sql.Clob 和 java.sql.Blob 类型, 它们分别和标准 SQL 中的 CLOB 和 BLOB 类型对应. CLOB 表示字符串大对象(Character Large Object), BLOB表示二进制对象(Binary Large Object) Mysql

JDBC:数据库操作:处理大对象CLOB数据

目标: 了解大对象处理基本原理, 掌握CLOB数据的读,写操作. 可以使用CLOB类处理大文本数据. 大对象处理主要指CLOB和BLOB两种类型字段.可以大量存储文字. 要想在程序中处理这样的大数据操作,则必须使用preparedStatement完成.所有文件内容通过IO流方式从大文本字段中保存和读取. 写入大数据对象: 使用PreparedStatement接口中的方法. void setAsciiStream(int parameterIndex, InputStream x, int l

使用SSH操作Oracle中BLOB大对象

package entity; /** * Bigobject entity. @author MyEclipse Persistence Tools */ public class Bigobject implements java.io.Serializable { // Fields private Integer id; private byte[] tblob; private String filename; // Constructors /** default construct

ORACLE LOB 大对象处理

LOB大对象处理:主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据.主要介绍字符类型和二进制文件类型LOB数据的存储,单独介绍二进制类型LOB数据的存储. 一.  Oracle中的LOB数据类型分类 1,按存储数据的类型分: ①字符类型:   CLOB:存储大量单字节字符数据.   NLOB:存储定宽多字节字符数据.②二进制类型:   BLOB:存储较大无结构的二进制数据. ③二进制文件类型:   BFILE:将二进制文件存储在数据库外部的操作系统文件中.存放文件路径. 2

SharePoint 2013 对二进制大型对象(BLOB)进行爬网

原文:SharePoint 2013 对二进制大型对象(BLOB)进行爬网 本文是参考MSDN文档做的示例,SharePoint 2013搜索二进制对象(BLOB),通过外部内容类型的方式将外部数据与SharePoint相关联,修改BCD模型,使SharePoint能够爬网外部数据中的文件流. 步骤,首先就是使用SPD创建外部内容类型,并为外部内容类型添加各种操作:然后,将BCD模型导出,添加方法后重新导入:最后,配置爬网,对外部内容类型进行爬网. 1.首先,用Designer 2013打开站点