将图片保存到数据库中,并从数据库中读取

        /// <summary>
        /// 将图片从数据库中读取
        /// </summary>
        /// <param name="xs_ID">要读取图片的学号</param>
        /// <param name="ph">pictureBox1控件名</param>
        public void get_photo(string xs_ID, PictureBox ph)//将图片从数据库中读取
        {
            byte[] imagebytes = null;
            getcon();
            SqlCommand con = new SqlCommand("select * from S_jiben where S_num='" + xs_ID + "'", link);
            SqlDataReader dr = con.ExecuteReader();
            while (dr.Read())
            {
                imagebytes =(byte[])dr.GetValue(18);
            }
            dr.Close();
            con_close();
            MemoryStream ms = new MemoryStream(imagebytes);
            Bitmap bmpt = new Bitmap(ms);
            ph.Image = bmpt; 
        }
        public void SaveImage(string MID, OpenFileDialog openF)//将图片以二进制存入数据库中
        {
            string strimg = openF.FileName.ToString();  //记录图片的所在路径
            FileStream fs = new FileStream(strimg, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存
            BinaryReader br = new BinaryReader(fs);
            byte[] imgBytesIn = br.ReadBytes((int)fs.Length);  //将流读入到字节数组中
            getcon();
            StringBuilder strSql = new StringBuilder();
            strSql.Append("update S_jiben Set xs_photo=@Photo where S_num=" + MID);
            SqlCommand cmd = new SqlCommand(strSql.ToString(), link);
            cmd.Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn;
            cmd.ExecuteNonQuery();
            con_close();
        }
posted @ 2013-12-06 13:02  简单就好。。。  阅读(389)  评论(0编辑  收藏  举报