图片保存到数据库和从数据库读取图片并显示(C#)

it2022-05-09  30

图片保存到数据库的方法:         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;             }         }

转载于:https://www.cnblogs.com/tuyile006/archive/2007/01/08/614718.html

相关资源:各显卡算力对照表!

最新回复(0)