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

前两天做了一个项目,项目内容包括将图片保存到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

 

就这么简单

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB6中将二进制图片文件转换为Base64字符串可以通过以下步骤实现: 1. 首先,你需要读取二进制图片文件的内容。你可以使用VB6提供的Open语句打开二进制图片文件,并使用Binary读取模式来读取文件的内容。例如: ```vb Dim fileNumber As Integer fileNumber = FreeFile Open "C:\path\to\image.jpg" For Binary As #fileNumber Dim fileContent As String fileContent = Input$(LOF(fileNumber), fileNumber) Close #fileNumber ``` 此代码片段打开并读取了位于指定文件路径下的图像文件,并将其内容存储在fileContent变量中。 2. 接下来,你可以使用VB6的MSXML库中的DOMDocument对象来进行Base64编码。首先,你需要将二进制图片内容加载到DOMDocument对象中,并使用其base64Encoded属性进行编码。例如: ```vb Dim xmlDoc As Object Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.LoadXML "<root></root>" xmlDoc.documentElement.dataType = "bin.base64" xmlDoc.documentElement.nodeTypedValue = fileContent Dim base64String As String base64String = xmlDoc.documentElement.base64Encoded ``` 这段代码创建了一个DOMDocument对象,将二进制图片内容加载到根节点下,并设置了节点的dataType为"bin.base64",这样DOMDocument对象就会自动将内容以Base64格式编码。然后,你可以通过读取节点的base64Encoded属性来获取Base64字符串。 最后,你可以使用base64String变量来访问生成的Base64字符串,进行后续的处理或保存

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值