reportviewer rdlc 报表 显示数据库中的图片
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、打印预览
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:73
阅读量:49
阅读量:63
阅读量:61
阅读量:65