如何使用sqlite数据库中的JasperReports显示blob对象图像?

如何使用sqlite数据库中的JasperReports显示blob对象图像?,sqlite,jasper-reports,Sqlite,Jasper Reports,我正在应用程序中使用ireport工具。需要在报告上显示图像。我在数据库中有一个blob对象字段来存储图像。我需要在报告中将blob对象字段显示为图像 但是,如果我检索除Blob之外的任何其他数据,它都可以正常工作 <?xml version="1.0" encoding="UTF-8"?> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www

我正在应用程序中使用ireport工具。需要在报告上显示图像。我在数据库中有一个blob对象字段来存储图像。我需要在报告中将blob对象字段显示为图像

但是,如果我检索除Blob之外的任何其他数据,它都可以正常工作

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports       http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Blank_A4_2" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="6bf1e8fc-5bd2-495a-abca-8c4d501c73af">
   <queryString><![CDATA[SELECT image FROM myimage]]></queryString>
   <field name="image" class="java.io.InputStream"/>
   <detail>
       <band height="125" splitType="Stretch">
            <image>
                <reportElement x="130" y="20" width="310" height="88" uuid="8b07de5d-ac9e-4245-9ca1-ccd6fd3fe993"/>
               <imageExpression><![CDATA[$F{image}]]></imageExpression>
            </image>
        </band>
    </detail>
</jasperReport>

我得到了这个错误:
“net.sf.jasperreports.engine.jr异常:无法获取java.io.InputStream类的结果集字段“image”的值”


你知道吗

我找到了解决办法。解决问题的步骤:

  • 将属性类型从Blob更改为二进制
  • 更改字段类型:

  • 同意@joyo。我以他为榜样,成功了。下面是一个完整的例子,说明他的意思(以防有人感兴趣):

    
    
    这篇文章可以帮助你:&&如果完整的例子觉得足够重要,那么最好作为对所选答案的评论。我认为完整的例子很有用。考虑编辑原来的答案。
    <?xml version="1.0" encoding="UTF-8"?>
    <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="38e603dd-e931-410d-b545-b16f01f0b6a8">
        <property name="ireport.zoom" value="1.0"/>
        <property name="ireport.x" value="0"/>
        <property name="ireport.y" value="0"/>
        <queryString>
            <![CDATA[select * from rcis.invoice_print]]>
        </queryString>
        <field name="ORG_LOGO" class="java.io.InputStream"/>
        <detail>
            <band height="125" splitType="Stretch">
                <image>
                    <reportElement x="168" y="23" width="100" height="50" uuid="dab25674-c16b-4866-88d0-c97695108f60"/>
                    <imageExpression><![CDATA[$F{ORG_LOGO}]]></imageExpression>
                </image>
            </band>
        </detail>
    </jasperReport>