报表图像绑定Sqlite数据库二进制图片
本帖最后由 Lenka.Guo 于 2016-6-1 17:17 编辑绑定sqlite blob二进制图片不显示
您好,谢谢您的反馈,问题已经重现,已经将该问题以高优先级反馈给产品组,有解决方案会立即给您回复。 您好,
通过与产品组的沟通已确认该问题产生的原因是:SQLite ODBC 驱动,将二进制流返回成了字符串类型,导致图片无法显示,现有的解决方案是,将字符串通过脚本,将字符串转回 二进制。
Public Function BlobToByte(ByVal x) As Byte()
Dim oleObject As Byte() = HexToByte(x.Substring(2, x.Length - 3))'remove envelope sqlite
Dim image As Byte() = New Byte(oleObject.Length - 78) {}
Array.Copy(oleObject, 78, image, 0, oleObject.Length - 78) ' remove header Bitmap Image Paint.Picture
Return image
End Function
Function HexToByte(ByVal hex As String) As Byte()
Dim bytes As Byte() = New Byte(hex.Length \ 2) {}
For i As Integer = 0 To hex.Length - 2 Step 2
bytes(i / 2) = Convert.ToByte(hex.Substring(i, 2), 16)
Next
Return bytes
End Function
然后在设置TextBox的Value来调用脚本代码:=code.BlobToByte(Fields!Picture.Value)
Demo下载(下载之后,修改数据库路径,就可以运行了):
好的 谢谢:) 本帖最后由 Lenka.Guo 于 2016-6-6 17:19 编辑
muhuiru 发表于 2016-6-6 16:44
好的 谢谢
不客气~~:itwn:谢谢您的反馈奖励1000金币~~
页:
[1]