reportviewer rdlc 报表 显示数据库中的图片

 时间:2026-02-16 02:20:47

1、生成二维码图片

 private byte[] GenByZXingNet(string msg)


        {
            BarcodeWriter writer = new BarcodeWriter();
            writer.Format = BarcodeFormat.QR_CODE;
            writer.Options.Hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");//编码问题
            writer.Options.Hints.Add(EncodeHintType.ERROR_CORRECTION, ZXing.QrCode.Internal.ErrorCorrectionLevel.H);
            const int codeSizeInPixels = 250;   //设置图片长宽
            writer.Options.Height = writer.Options.Width = codeSizeInPixels;
            writer.Options.Margin = 0;//设置边框
            ZXing.Common.BitMatrix bm = writer.Encode(msg);
            Bitmap img = writer.Write(bm);
            //pictureBox1.Image = img;
           
           // return img;
         return   BitmapToBytes(img);
        }

2、转换成数据流

 private byte[] BitmapToBytes(Bitmap bitmap)


        {
            MemoryStream ms = null;
            try
            {
                ms = new MemoryStream();
                bitmap.Save(ms, ImageFormat.Gif);
                byte[] byteImage = new Byte[ms.Length];
                byteImage = ms.ToArray();
                return byteImage;
            }
            catch(ArgumentNullException ex)
            {
                throw ex;
            }
            finally
            {
                ms.Close();
            }
        }

3、转换64编码数据

  byte[] mm=  GenByZXingNet(txt_lzkh.Text.Trim());


                                   
                        string m=   Convert.ToBase64String(mm);

4、图片 保存到数据库

 StringBuilder strsql6 = new StringBuilder();


                            strsql6.Append("INSERT INTO [dbo].[tb_ck_mpckckzb]([出库单号] ,[流转卡号] ,[缸号],[订单编号],[客户名称] ,[出库日期],[制单人],[客户合约],[计划单号],[二维码])");
                            strsql6.Append("values('" + spzd.Ckdh + "','" + jhzd.Lzkh + "','" + jhzd.Gh + "','" + spzd.Ddbh + "','" + spzd.Khmc + "','" + spzd.Zdrq + "','" + spzd.Zdr + "','" + ddzd.Khhy + "','" + spzd.Jhdh + "','" + m + "')");
                            cmd.CommandText = strsql6.ToString();
                            cmd.ExecuteNonQuery();

5、=System.Convert.FromBase64String(Fields!二维码.Value)

6、打印预览

  • Windows Server 2012系统如何启用Windows防火墙
  • Win7系统配置IIS及ASP网站运行环境设置
  • 如何创建虚拟机快照
  • Windows Server 2012 R2如何查看共享文件夹权限
  • windows server 2008下部署DNS服务
  • 热门搜索
    骑自行车旅游 七月去哪里旅游最好 黑龙江省旅游地图 旅游策划书范文 石家庄旅游网 旅游 新闻 中国最佳旅游胜地 香港旅游须知 邵武旅游景点大全 普陀山旅游线路