图片保存到数据库的方法

来源:互联网 发布:python excel数据处理 编辑:程序博客网 时间:2024/05/24 03:27
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;
             }
         }
0 0