这两天在和斌做后台中的报表,暂定使用水晶报表,目前还只是处于对水晶报表的初级应用阶段,也就是知道如何 汇个总、写个函数、传个参数。

问题总是层出不穷,在最后整合报表,进行报表显示测试的时候,发现每次更新数据显示(除第一次)时都会蹦出一个“登录数据库的信息提示界面”很是苦闷,并且这肯定不是我们需要的,还是需要花大力气搞定的。

于是参考了某斑竹写的一篇 “取消水晶报表的数据库登陆框”博文。颇有感触,于是进行了消化吸收,整合代码如下。

主要是,针对水晶报表对每数据库登录(DbLogOn)提供一次数据库链接信息。

Imports CrystalDecisions.Shared Imports CrystalDecisions.CrystalReports.Engine Imports System.Reflection Imports System.Configuration Imports CrystalDecisions.Web Public Class ReportConfig ''' <summary> ''' 提供web报表链接数据库所需要的信息,无参数,有返回值。 ''' </summary> ''' <returns>返回链接信息的属性,其中有servername、database、userid、pwd</returns> ''' <remarks></remarks> Public Function readConfig() As TableLogOnInfo Dim strServerName As String Dim strDataBase As String Dim strUserId As String Dim strPwd As String Dim logoninfo As New TableLogOnInfo '从web.config配置文件中读取信息. strServerName = System.Configuration.ConfigurationManager.AppSettings("servername") strDataBase = System.Configuration.ConfigurationManager.AppSettings("database") strUserId = System.Configuration.ConfigurationManager.AppSettings("userid") strPwd = System.Configuration.ConfigurationManager.AppSettings("pwd") logoninfo.ConnectionInfo.ServerName = strServerName logoninfo.ConnectionInfo.DatabaseName = strDataBase logoninfo.ConnectionInfo.UserID = strUserId logoninfo.ConnectionInfo.Password = strPwd '信息封装成logoninfo. Return logoninfo End Function ''' <summary> ''' 设置报表查看器不再显示登录数据库提示 ''' </summary> ''' <param name="crv">当前报表查看器id</param> ''' <param name="coninfo">报表链接到数据库所需信息</param> ''' <returns></returns> ''' <remarks></remarks> Public Function SetDbLoginForReport(ByVal crv As CrystalReportViewer, ByVal coninfo As ConnectionInfo) As String 'tablelogoninfos 就是包括每个表中的logoninfo对象 Dim tablelogoninfos As TableLogOnInfos = crv.LogOnInfo Dim logoninfo As New TableLogOnInfo For Each logoninfo In tablelogoninfos '绑定每一个logoninfo对象的数据库链接信息,这样可以不再显示数据库登录提示信息。 logoninfo.ConnectionInfo = coninfo Next Return Nothing End Function End Class

其中一个报表:

'省略.... Dim SelectByDate As New CollectMgr Dim dt As New DataTable Dim doc As New ReportDocument Dim coninfo As New TableLogOnInfo Dim reportconfig As New ReportConfig '省略.... '获得报表链接数据库所需的所有参数信息 coninfo = reportconfig.readConfig Try '加载报表样表 doc.Load(Server.MapPath("./Cashier.rpt")) '返回数据源 If txtStartTime.Value = txtEndTime.Value Then dt = SelectByDate.FoodCollect(txtStartTime.Value) Else dt = SelectByDate.FoodCollect(txtStartTime.Value, txtEndTime.Value) End If doc.SetDataSource(dt) crvCashierReport.ReportSource = doc '防止出现提示登录数据库的情况 reportconfig.SetDbLoginForReport(crvCashierReport, coninfo.ConnectionInfo) '结束

配置文件:

<appSettings> <add key="servername" value="****" /> <add key="database" value="***" /> <add key="userid" value="**" /> <add key="pwd" value="***" /> </appSettings>

转载于:https://www.cnblogs.com/lfsfxy9/archive/2010/06/07/2629370.html

取消水晶报表的数据库登录框 分享相关推荐

  1. access数据库使用水晶报表(PUSH)推模式实现多数据源含子报表的订单打印

    最近改造一个小型购物网站,要求使用水晶报表实现订单打印,本人对水晶报表从一无所知到,到最终弄出来整整花了一夜的时间,特此记录下此文和大家共享. 关于水晶报表更详细的介绍建议大家可以参考阿泰的博客:ht ...

  2. 在VB中使用水晶报表总结

    水晶报表(Crystal Report)是业内最专业.功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口.在VS.Net平台做过报表开发的程序员,一定都对 ...

  3. 6-1 水晶报表技术(上)

    本章内容<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 6-1 ...

  4. 水晶报表基础入门——1.水晶报表技术

        在程序开发中,经常要对合并计算.多级汇总.制作图表.条件格式化进行编程.在这种情况下用普通的数据控件很难完成,而水晶报表大大简化了这些工作.用其可以制作非常漂亮的图表.格式化文本,而且还可以把 ...

  5. [水晶报表]如何设置水晶报表(crystal reports)的字段自动换行

    在做报价系统时候水晶报表做最后报表的产出.由于规格字数较长,用户在预览报表时无法看全规格,规格多出部分会导致重叠现象. 百度文库提供一个解决方案: 1.如何设置水晶报表(crystal reports ...

  6. java 接入水晶报表实现代码自定义数据源(新手接触水晶报表)

    公司项目需要,要求接入水晶报表,但是本人之前完全没有接触过水晶报表,结果为了完成任务,只能硬着头上了.期间遇到许多麻烦,总算是将水晶报表接入到了freemarker项目了,结果现在被水晶报表数据源的动 ...

  7. [水晶报表]水晶报表数据库登陆问题

    水晶报表学习记录之二(数据库登陆问题) 提示框数据库登录![在这里插入图片描述](https://img-blog.csdnimg.cn/fe4e64fce4d24e009c89d63702a2825 ...

  8. 水晶报表取消输入密码最后测试结果

    哈哈,找了很多资料终于解决了. //添加引用 using CrystalDecisions.Shared ;//负责解释TableLogOnInfo类 using CrystalDecisions.C ...

  9. 浅谈漏洞思路分享-只有登录框的渗透测试

    目录 0x00 弱口令 0x01 sql注入 0x02 暴力破解 0x03 验证码绕过 0x04 修改响应码 0x05 目录扫描 0x06 找回密码功能 0x07 注册功能 0x08 历史漏洞 0x0 ...

最新文章

  1. 用Python发送邮件[zt]
  2. music算法原理_大话FMCW雷达之区域检测原理
  3. [深度学习-TF2实践]应用Tensorflow2.x训练DenseNet模型在Cifar10数据上,测试集准确率90.07%
  4. 爱立信携手沃达丰完成英国首个5G独立组网网络切片试验
  5. C/C++网络编程工作笔记0003---客户服务端程序说明
  6. PHP将mysql数据导出为Excel
  7. 如何限制浏览器使用_如何使用浪涌电流限制器NTC(一)
  8. 20210218:力扣第228周周赛(下)
  9. 做网站用UTF-8编码还是GB2312编码?
  10. 查看Oracle表空间以及用户与其默认表空间情况
  11. SD2.0大会第1天心得
  12. CSS小技巧--文字对齐
  13. ubuntu安装tim
  14. 矩阵分析与应用(二)——内积与范数
  15. R语言 kNN 对鸢尾花进行分类
  16. Java8新特性(三) – 流式数据处理
  17. CCT之CAMERA TUNNING调试学习总结
  18. c#考试,答题系统制作(窗体)
  19. 行业分析| anyRTC智慧视频监控的应用
  20. H5视频付费点播打赏影视系统程序全开源运营版,含完整的前后台+数据库

热门文章

  1. php包含文件时显示空白页,php中添加了如下语句出现空白页 删除页面zhengchang
  2. c语言相邻字符串字面量,C语言预处理#运算符的细节
  3. strchr strstr函数php,PHP字符串函数之 strstr stristr strchr strrchr
  4. 高德地图markevents_GitHub - mingxuWang/Map: 高德地图API二次封装
  5. 语言编奇数和合偶数和_不同的语言怎样求解奇数和?
  6. android picasso源码下载,Picasso:一个专为Android制作的强大的图片下载和缓存库
  7. php点号的意思,[PHP] - 逗号和点号的区别
  8. 机器学习中的一些概念
  9. PCB天线无线模组如何布局摆放?
  10. 自定义apt升级脚本