zoukankan      html  css  js  c++  java
  • MSSQL Image 的存储与读取显示

    1. 创建测试用数据表:
    create table Test([ImageID] [int] IDENTITY (1, 1) NOT NULL , bmp Image)

    2. 存储图像文件到数据库中:
                // SqlConnection 连接部分略
                string sqlStr = String.Format("insert into Test(bmp) values(@i)", comboBox1.Text);
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                if (conn.State == ConnectionState.Open)
                {
                    SqlCommand cmd = new SqlCommand(sqlStr, conn);
                    FileStream stream = new FileStream("1.png", FileMode.Open);
                    int len = (int)stream.Length;
                    byte[] bytes = new byte[len];
                    stream.Read(bytes, 0, len);
                    cmd.Parameters.Add("@i", SqlDbType.Image, len);
                    cmd.Parameters["@i"].Value = bytes;
                    cmd.ExecuteNonQuery();
                   
                    stream.Close();
                }
                else
                {
                    MessageBox.Show("打开数据库连接失败.");
                }
                conn.Close();

    3. 从数据库中读取Image,并显示到PictureBox中:       

            BindingSource source = new BindingSource();

            source.PositionChanged += new EventHandler(source_PositionChanged);

            // 窗体上创建一个 BindingNavigator 数据导航控件, 当打开数据表后并在数据项之间移动时,触发如下事件方法:
            void source_PositionChanged(object sender, EventArgs e)
            {
                byte[] image_bytes = (byte[])((DataRowView)source.Current).Row["bmp"];
                MemoryStream stream = new MemoryStream(image_bytes);
                pictureBox1.Image = Image.FromStream(stream);
                stream.Close();
            }

  • 相关阅读:
    八十九:ECMAScript6扩展之字符串、for-of
    八十八:ECMAScript6之解构赋值
    八十七:ECMAScript6基础入门之let、const
    八十六:JavaScript之表单验证案例
    八十五:JavaScript之正则表达式之实现正则测试工具
    八十四:JavaScript之正则表达式之常用的正则表达式
    vim常用命令总结(转)
    Linux常用命令
    LinkedBlockingQueue的put,add跟offer的区别
    RabbitMQ消息确认(发送确认,接收确认)
  • 原文地址:https://www.cnblogs.com/csMapx/p/2200819.html
Copyright © 2011-2022 走看看