C# 如何把圖片放到sql server數據庫中

以前,我們都是往數據庫中放string int 等等類型的數據,在機房合作中,需要把圖片也存到數據庫中需要怎麼存呢,經過一番研究,曉得了需要把圖片轉換成二進制,放到數據庫中。下面用C#把圖片放到sql中的方法。

第一步: 將圖片轉換成二進制存入到sql數據庫中

            //打開本地路徑
            openFileDialog1.ShowDialog();
            //獲取當前選擇的圖片
            this.pictureBox2.Image = Image.FromStream(this.openFileDialog1.OpenFile());

            //獲取當前圖片的路徑
            string path = openFileDialog1.FileName.ToString();
            //將制定路徑的圖片添加到FileStream類中    
            FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
            //通過FileStream對象實例化BinaryReader對象
            BinaryReader br = new BinaryReader(fs);
            //通過BinaryReader類對象的ReadBytes()方法將FileStream類對象轉化爲二進制數組
            byte[] imgBytesIn = br.ReadBytes(Convert.ToInt32(fs.Length));
            CodeEntity code = new CodeEntity();
            code.codeName = "微信二維碼";
            code.codepic = imgBytesIn;
            CodeFacade codefa = new CodeFacade();
            bool falg = codefa.InsertCode(code);

第二步:D層插入數據庫圖片

      /// <summary>
      /// 添加二維碼
      /// </summary>
      /// <returns></returns>
        public int InsertCode(CodeEntity code)
        {
           
           
                string sql = "insert into T_Code (codeName,codepic) values (@codeName,@codepic)";
                SqlParameter[] ps =
                {
                new SqlParameter("@codeName",code.codeName),
                new SqlParameter("@codepic",code.codepic)
               
            };
                return SqlHelper.ExecuteNonQuery(sql, System.Data.CommandType.Text, ps);
            
        }


        /// <summary>
        /// 查詢二維碼
        /// </summary>
        /// <returns></returns>
        public List<CodeEntity> SelectCode(CodeEntity code)
        {
            SqlParameter[] p = { new SqlParameter("@codeName", code.codeName),

            };
            string sql = "select * from T_Code where codeName=@codeName";

            DataTable dt = SqlHelper.GetDataTable(sql, CommandType.Text, p);
            ConvertSQLHelper convert = new ConvertSQLHelper();
            List<CodeEntity> list = convert.ConvertToModel<CodeEntity>(dt);
            return list;
        }
    }

第三步:從數據庫中提取圖片

            laballcash.Text = FrmShopping.allmoney;
            CodeEntity code = new CodeEntity();
            code.codeName = "微信二維碼";
            CodeFacade codefa = new CodeFacade();
            List<CodeEntity> codes = codefa.SelectCode(code);
            MemoryStream mss = null;
            byte[] bytes = (byte[])codes[0].codepic;
            mss = new MemoryStream(bytes);
            this.pictureBox1.Image = Image.FromStream(mss);


          

最後生成效果圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章