• 关于水晶报表的自定义连接数据源问题


    前面用vb6做一个管理系统,程序和水晶报表都是使用 odbc连接方式来连接数据库,后来嫌建立那个odbc 比较麻烦,所以想换成连接字符串,寻觅百度千百回,终究找不到答案,我想,一定是自己的方法用错了。后来,在水晶报表的sample中找到了基本答案,终于转换成功。

    一、在做报表的时候如果用的是odbc,则在程序中无论如何无法转成 用字符串连接的方式来改变报表的连接方式(至少我没有发现)。所以要转换报表的连接方式,通过在水晶报表中设置数据源来更新以前的连接方式可以搞定这步

    二、在程序中可以设置报表用字符串来连接数据库。如果不设置的话,水晶报表每次都会跳出一个框让你输入密码,够郁闷的。主要代码如下:(声明代码省略)

    Report.Database.Tables(1).ConnectionProperties.DeleteAll
    Report.Database.Tables(1).ConnectionProperties.Add "Provider", "SQLOLEDB"

    Report.Database.Tables(1).ConnectionProperties.Add "Data Source", "."

    Report.Database.Tables(1).ConnectionProperties.Add "Initial Catalog", "LH"

    Report.Database.Tables(1).ConnectionProperties.Add "User ID", "sa"

    Report.Database.Tables(1).ConnectionProperties.Add "Password", "123456"

    Report.Database.Tables(1).ConnectionProperties.Add "Integrated Security", False


    至于有哪些属性可以用代码进行循环列出,我就不说了。。

    三、网上很多用直接给出数据集的方式,其实也不能改变报表的连接方式,用数据集的一并给出代码

              strReportName   =   "\crystal\rclist.rpt"                 '定义要引用的rpt文件  
       
              Set   oRpt   =   oApp.OpenReport(strReportName,   1)  
       
              oRpt.Database.SetDataSource   rs         
              oRpt.ReadRecords  
               
              CRViewer1.Refresh   

              CRViewer1.ReportSource   =   oRpt          
              CRViewer1.ViewReport  

  • 相关阅读:
    Reporting Services无法连接ORACLE,提示:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
    ORA-12504:tns:监听程序在 CONNECT_DATA中未获得SERVICE_NAME
    指针
    将gridview 的数据导出EXCEL
    SAP 销售订单中采购标识无法修改
    Spring aop 实例(转)
    JVM — 性能调优
    Linux命令(持续更新)
    J.U.C|一文搞懂AQS(转)
    windows下监控和分析java进程
  • 原文地址:https://www.cnblogs.com/szyicol/p/1176567.html
Copyright © 2020-2023  润新知