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

时间:2024-10-31 03:34:36

1、生成二维码图片private byte[] GenByZXing鲍伊酷雪Net(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、打印预览

© 手抄报圈