在水晶报表中使用一维和二维条码
来源:互联网 发布:幽灵知子动漫 编辑:程序博客网 时间:2024/05/01 04:57
本文思路来自于:http://topic.csdn.net/u/20080306/13/b471356c-d5d8-4914-bfc0-bb5a742b9c1f.html
什么是一维条码
http://baike.baidu.com/view/13740.html
什么是二维条码
http://baike.baidu.com/view/587003.htm
在一般的应用系统开发中,一般都是通过设置文字(数字)的字体为条码字体(code3of9 或 code 128 等 ) 来实现的
但是在水晶报表中,使用同样的方法,这些条码字体却出不来条码。
国外市场上出现了专门针对水晶报表的条码,其中code3of9是免费的,其余都要收费。
在上面的帖子中提到的思路是这样的:
首先用应用程序接口生成条码图片(需注意精度)
将条码图片保存到数据库中
然后在水晶报表中将这个对象显示出来就行了。
本文所涉及到的DotNetBarCode可参考以下网址
DotNetBarcode.dll
http://www.geocities.jp/japan_inf/DotNetBarcode/
http://hi.baidu.com/optical/blog/item/4849d4b4a0ad8d708bd4b21c.html
以下内容摘自原帖:
在水晶报表里面把数据库的存放二维码的字段拖到水晶报表里面就可以了。
什么是一维条码
http://baike.baidu.com/view/13740.html
什么是二维条码
http://baike.baidu.com/view/587003.htm
在一般的应用系统开发中,一般都是通过设置文字(数字)的字体为条码字体(code3of9 或 code 128 等 ) 来实现的
但是在水晶报表中,使用同样的方法,这些条码字体却出不来条码。
国外市场上出现了专门针对水晶报表的条码,其中code3of9是免费的,其余都要收费。
在上面的帖子中提到的思路是这样的:
首先用应用程序接口生成条码图片(需注意精度)
将条码图片保存到数据库中
然后在水晶报表中将这个对象显示出来就行了。
本文所涉及到的DotNetBarCode可参考以下网址
DotNetBarcode.dll
http://www.geocities.jp/japan_inf/DotNetBarcode/
http://hi.baidu.com/optical/blog/item/4849d4b4a0ad8d708bd4b21c.html
以下内容摘自原帖:
Sub QRCodeSaveRead()
bc1.Type = DotNetBarcode.Types.QRCode
bc1.PrintChar = True
'保存QRCode图片
strQRCode = ""
strQRCode = Trim(txtCode.Text) + " " + _
Trim(txtTLot1.Text) + " " + _
txtEPack2.Text
Panel1.Refresh()
bc1.QRSave(strQRCode, "QRCodeBmp.bmp", 2)
'读取QRCodeBmp
Dim fs As New System.IO.FileStream("QRCodeBmp.bmp", IO.FileMode.Open, IO.FileAccess.Read)
Dim imageDataTemp(fs.Length) As Byte
ImageData = imageDataTemp
fs.Read(ImageData, 0, System.Convert.ToInt32(fs.Length))
fs.Close()
End Sub
Sub InsertDB(ByVal txtInsertSql As String)
Dim InSertSql As New System.Text.StringBuilder
InSertSql.AppendLine(txtInsertSql)
InSertSql.AppendLine("',Convert(image,@imgQRCode))")
Dim wblInsertCnn As New SqlConnection(ConnectString)
Dim wblInsertCmd As New SqlCommand
Try
wblInsertCnn.Open()
wblInsertCmd.Connection = wblInsertCnn
wblInsertCmd.CommandText = InSertSql.ToString
Dim wblSP As New SqlParameter("@imgQRCode", SqlDbType.Image)
wblSP.Value = ImageData
wblInsertCmd.Parameters.Add(wblSP)
wblInsertCmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message + "插入数据库操作失败!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Finally
wblInsertCnn.Dispose()
wblInsertCmd.Dispose()
End Try
End Sub
bc1.Type = DotNetBarcode.Types.QRCode
bc1.PrintChar = True
'保存QRCode图片
strQRCode = ""
strQRCode = Trim(txtCode.Text) + " " + _
Trim(txtTLot1.Text) + " " + _
txtEPack2.Text
Panel1.Refresh()
bc1.QRSave(strQRCode, "QRCodeBmp.bmp", 2)
'读取QRCodeBmp
Dim fs As New System.IO.FileStream("QRCodeBmp.bmp", IO.FileMode.Open, IO.FileAccess.Read)
Dim imageDataTemp(fs.Length) As Byte
ImageData = imageDataTemp
fs.Read(ImageData, 0, System.Convert.ToInt32(fs.Length))
fs.Close()
End Sub
Sub InsertDB(ByVal txtInsertSql As String)
Dim InSertSql As New System.Text.StringBuilder
InSertSql.AppendLine(txtInsertSql)
InSertSql.AppendLine("',Convert(image,@imgQRCode))")
Dim wblInsertCnn As New SqlConnection(ConnectString)
Dim wblInsertCmd As New SqlCommand
Try
wblInsertCnn.Open()
wblInsertCmd.Connection = wblInsertCnn
wblInsertCmd.CommandText = InSertSql.ToString
Dim wblSP As New SqlParameter("@imgQRCode", SqlDbType.Image)
wblSP.Value = ImageData
wblInsertCmd.Parameters.Add(wblSP)
wblInsertCmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message + "插入数据库操作失败!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Finally
wblInsertCnn.Dispose()
wblInsertCmd.Dispose()
End Try
End Sub
在水晶报表里面把数据库的存放二维码的字段拖到水晶报表里面就可以了。
- 在水晶报表中使用一维和二维条码
- 水晶报表中使用条码字体
- 水晶报表使用一
- 在Delphi 中如何使用水晶报表
- 在VB中使用水晶报表总结
- 在VC中使用水晶报表
- 在C#中使用水晶报表
- 【转】在VC中使用水晶报表
- 在VC中使用水晶报表
- 在Winform中使用水晶报表(Push)
- 在ASP.NET中使用水晶报表
- 在VC6中使用水晶报表8.5
- 在水晶报表中使用Code128条形码
- 水晶报表显示条码设置
- [水晶报表]之打印条码
- 在ASP.NET下使用水晶报表一(零点起步)
- 使用new和vector实现一维和二维数组
- 一维和二维树状数组
- 水晶报表如何完美导出一个Excel表格
- 子报表复合条件筛选 兼答rockyvan
- [转]水晶报表的5种表格设计模式
- [转]VS2005下水晶报表实现动态数据源绑定
- 2008年三月份&四月份问题收集帖
- 在水晶报表中使用一维和二维条码
- [报表技巧] 在页眉或组页眉 跨行显示详细资料节中的汇总
- [转]水晶报表加载失败的解决方法
- [转]08年1月Gartner商务智能平台魔法四分区
- 大数据量下水晶报表的实现及显示过程中的进度条显示讨论
- VS2005水晶报表创建crystal查询引擎失败的几种解决方法
- 2008年二月份&三月份问题收集帖
- [转]VS .NET 2005中水晶报表的打包部署
- [转]Crystal Reports basic for Visual Studio 2008部署