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;
                }
            }
  • 相关阅读:
    编程实现Windows系统自动登录
    IOS开发笔记
    所有的GUI Toolkit,类型之多真开眼界
    文件保护DEP
    Delphi 重启应用程序(创建Bat文件的Process)
    Linux的几个概念,常用命令学习
    Delphi内存操作API函数(备查,并一一学习)
    Servle中的会话管理
    Windows软件在Linux上的等价/替代/模仿软件列表 (抄一个)
    Go 的文件系统抽象 Afero
  • 原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100699.html
Copyright © 2011-2022 走看看