vb2005+水晶报表10.2+MSSQL 二进制图片保存及显示

本文介绍了一种直接在水晶报表中显示存储于MSSQL数据库中的图片的方法,避免了使用图片路径的方式。通过将数据源设置为XSDSchema,并将字段类型设为base64Binary,实现了简便的操作流程。

前两天做了一个项目,项目内容包括将图片保存到MSSQL后用水晶报表显示出来并打印,在网上查了许久,都是看到数据库里保存的是图片路径,很不方便,终于看到一个贴子,其实很简单,就是不要用dataset,只需要将数据源用XSDSchema代替,将字段类型设置成:base64Binary,水晶报表中指定数据源为新建数据源,指向这个XSDSchema,其它操作和用DATASET做为数据源是一样的,代码也是按DATASET的来操作,非常简便!感谢原创!

XSDSchema1.XSD设计:

=====================================

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="XSDSchema1" targetNamespace="http://tempuri.org/XSDSchema1.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XSDSchema1.xsd" xmlns:mstns="http://tempuri.org/XSDSchema1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="DataTable1">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Column1" type="xs:base64Binary" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

======================================

FORM1代码:

        Dim comm As New SqlCommand("select * from DataTable1", Conn)
        Dim adapter As SqlDataAdapter = New SqlDataAdapter(comm)
        Dim ds As New DataSet()
        adapter.Fill(ds, "DataTable1")
        Dim cr As New CrystalReport1
        cr.SetDataSource(ds.Tables("DataTable1"))
        Me.CrystalReportViewer1.ReportSource = cr

 

就这么简单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值