zoukankan      html  css  js  c++  java
  • 图片保存到数据库的方法

    public void imgToDB(string sql)
            {   //参数sql中要求保存的imge变量名称为@images
                //调用方法如:imgToDB("update UserPhoto set Photo=@images where UserNo='" + temp + "'");
                FileStream fs = File.OpenRead(t_photo.Text);
                byte[] imageb = new byte[fs.Length];
                fs.Read(imageb, 0, imageb.Length);
                fs.Close();
                SqlCommand com3 = new SqlCommand (sql,con);
                com3.Parameters.Add("@images", SqlDbType.Image).Value = imageb;
                if (com3.Connection.State == ConnectionState.Closed)
                    com3.Connection.Open();
                try
                {
                    com3.ExecuteNonQuery();
                }
                catch
                { }
                finally
                { com3.Connection.Close(); }
            }

    数据库中读出图片并显示在picturebox中:

    方法一:
    private void ShowImage(string sql)
         {
         //调用方法如:ShowImage("select Photo from UserPhoto where UserNo='" + userno +"'");
         SqlCommand cmd = new SqlCommand(sql, conn);
         conn.Open();
         byte[] b= (byte[])cmd.ExecuteScalar();
         if (b.Length 〉 0)
         {
         MemoryStream stream = new MemoryStream(b, true);
         stream.Write(b, 0, b.Length);
          pictureBox1.Image = new Bitmap(stream);
          stream.Close();
         }
         conn.Close();
         }

    方法二:当在dg中选中某行时:
    private void dg_MouseUp(object sender, MouseEventArgs e)
            {
                //整行选择
                if (e.Button == System.Windows.Forms.MouseButtons.Left)
                {//用户编号,姓名,性别,身份证号,籍贯,学院,系所,校区,部门,电话,照片
                      //显示相片
                    object imgobj=dg[10, dg.CurrentRow.Index].Value;
                    if (imgobj != null && !Convert.IsDBNull(imgobj))
                    {
                        byte[] imgb = (byte[])imgobj;
                        MemoryStream memStream = new MemoryStream(imgb);
                        try
                        {
                            Bitmap myimge = new Bitmap(memStream);
                            this.pictureBox1.Image = myimge;
                        }
                        catch
                        {
                            DB.msgbox("从数据库读取相片失败!");
                        }
                    }
                    else
                        pictureBox1.Image = null;
                }
            }
  • 相关阅读:
    安装Hive2及配置HiveSever2
    sqoop语句
    Sqoop配置
    IO流的概述
    List集合的简单使用
    包装类
    访问权限修饰符
    接口
    抽象类
    final关键字
  • 原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100699.html
Copyright © 2011-2022 走看看