当前位置: 首页 > 编程日记 > 正文

取消水晶报表的数据库登录框 分享

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

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

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

     主要是,针对水晶报表对每数据库登录(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

相关文章:

有光照就能上网 0.2秒即可下载一部高清电影

再也不用费尽心思询问 WIFI 密码了&#xff0c;以后&#xff0c;哪里有光照&#xff0c;哪里就可以上网。中国“可见光通信系统关键技术研究”近日取得重大突破&#xff0c;实时通信速率提升至 50Gbps&#xff0c;也就是说&#xff1a; 0.2 秒即可完成一部高清电影的下载。 有光…

【怎样写代码】确保对象的唯一性 -- 单例模式(四):饿汉式单例类与懒汉式单例类的讨论

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

学Java需要学哪些书?

java技术所要学到的东西是很多的&#xff0c;只要入了这一行&#xff0c;学习是不能停止的&#xff0c;工作节奏在加快&#xff0c;新知识也源源不断&#xff0c;学习的最好途径就是看书&#xff0c;小编给大家推荐这几本java方面的书&#xff0c;搭配学习课程&#xff0c;让学…

【怎样写代码】确保对象的唯一性 -- 单例模式(五):一种更好的单例实现方法(静态内部类)

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

郭为:大数据时代的企业管理挑战

互联网时代&#xff0c;创新使得财富积累的速度前所未有的快&#xff0c;贫富不均也前所未有地分化。这个时代&#xff0c;世界的竞争变成人与人的竞争&#xff0c;人与人的竞争就是智慧的竞争&#xff0c;就是人的创新能力的竞争。如何才能提高人的竞争力&#xff0c;是管理科…

如何挑选靠谱的Java培训机构

想要学习java技术的人越来越多&#xff0c;市面上出现的java培训机构也越来越多&#xff0c;很多人都想找一个靠谱的java培训机构&#xff0c;那么到底该如何挑选靠谱的Java培训机构呢?看看下面小编为大家做的详细介绍吧。 如何挑选靠谱的Java培训机构? 首先挑选java培训机…

ActiveMQ在C#中的应用

ActiveMQ是个好东东&#xff0c;不必多说。ActiveMQ提供多种语言支持&#xff0c;如Java, C, C, C#, Ruby, Perl, Python, PHP等。由于我在windows下开发GUI&#xff0c;比较关心C和C#&#xff0c;其中C#的ActiveMQ很简单&#xff0c;Apache提供NMS&#xff08;.Net Messaging …

数据中心防雷SPD技术漫谈

雷电是大自然里一种普遍现象&#xff0c;在世界的任意角落都会有雷电天气出现&#xff0c;只不过数量不同而已。雷电对大地及地面物体的放电现象成为雷击&#xff0c;这种放电过程会产生强烈的闪电并伴随巨大的声音&#xff0c;对被击物体有严重的危害&#xff0c;会在物体的两…

【怎样写代码】确保对象的唯一性 -- 单例模式(六):扩展案例

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

Python数据分析可以应用到哪些领域

随着大数据的应用越来越广泛&#xff0c;应用的行业也越来越多&#xff0c;我们每天都可以看到一些关于数据分析的新鲜应用&#xff0c;从而帮助人们获取到有价值的信息。例如&#xff0c;网购时经常发现电商平台向我们推荐商品&#xff0c;往往这类商品都是我们最近浏览的&…

printf(%d, -10u); 这个输出什么呀, 0或1?

printf("%d", -1<0u); 这个输出什么呀, 0或1?周银辉 既然我这么问了, 那么答案自然不是1&#xff0c;而是0看看下面的代码: 对于-10u输出为-1&#xff0c;似乎理所当然&#xff0c;但为什么-1<0u却输出0呢&#xff0c;也就是说-1不小于0u&#xff0c;好神奇啊…

Enterprise Library 4 缓存应用程序块的设计

缓存应用程序为以下目的而设计&#xff1a; 提供一个大小可管理的 API 集合。允许开发人员添加标准的缓存操作到他们的应用程序中&#xff0c;而不用学习应用程序块的内部工作。用 Enterprise Library 配置控制台来简化配置。有效率的执行。线程安全。某些东西在被多个程序线程…

【软件测试培训】了解jmeter分布式测试

一提到分布式测试&#xff0c;大家肯定会觉得&#xff0c;哇!好高大上&#xff0c;一定很高深的吧&#xff0c;这里老师推出不做傻白甜系列文章&#xff0c;带同学们一步一步理解jmeter的分布式测试。 首先我们来看下jmeter自动化测试的流程 &#xff0c;见如下图1 【软件测试…

存储过程中返回结果集

存储过程中返回结果 从存储过程中返回结果有三种方式&#xff1a; 1、 返回结果集 这是客户端应用程序返回结果的最通用的方法。结果集是通过使用select语句选择数据产生的。结果集可以从永久表、临时表或局部变量中产生。将结果返回到另一个存储过程不是一种有效的方法。存储…

我的股票交易策略

投资股市已经成为我们进行资产配置的一个重要选择。在这个市场中主流的投资方式无外乎 价值投资 和 趋势投资 两种。价值投资需要了解各种财务指标来评价各支股票&#xff0c;在被市场低估时买入&#xff0c;在被市场高估时卖出。这对于非财务背景的人来说门槛偏高。趋势投资需…

你负责选歌,索尼负责用 AI 谱出风格相似的曲子

近日&#xff0c;索尼巴黎计算机科学实验室&#xff08;CSL&#xff09;正在开发一套算法系统 Flow Machines&#xff0c;该系统根据用户的品味谱写歌曲&#xff0c;其歌曲在迎合用户口味的基础上&#xff0c;适用于所有现有音乐风格。 技术人员搭建了一个拥有 13000 多首音乐的…

java培训:Java的十大算法

想要学好java语言&#xff0c;就要打好基础&#xff0c;java要学习的东西有很多&#xff0c;今天小编就来和大家说下java的十大算法。 算法一&#xff1a;快速排序算法 快速排序是由东尼霍尔所发展的一种排序算法。在平均状况下&#xff0c;排序 n 个项目要Ο(nlogn) 次比较。…

PetShop之表示层设计 - 《解剖PetShop》系列之六

六 PetShop之表示层设计 表示层&#xff08;Presentation Layer&#xff09;的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样&#xff0c;初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品&#xff0c;如果在用户界面&#xff08;User Inte…

物联网时代营销怎么做?

这几年和大数据、O2O一样热门的词还包括“物联网”&#xff0c; 物联网是新一代信息技术的重要组成部分&#xff0c;也是“信息化”时代的重要发展阶段。其英文名称是&#xff1a;“internet of things(IoT)”。顾名思义&#xff0c;物联网就是物物相连的互联网。 说的再通俗一…

怎样去掉 CSDN-Markdown 上传图片中的水印

自己一直使用 Markdown 写技术图文&#xff0c;我们知道在 Markdown 中插入图片需要这个图片的URL地址&#xff0c;那么必须得找一个图床来存放图片。 // Markdown 中插入图片的语法结构![这里写图片描述](这里写图片的URL地址) 我的方法是这样的&#xff1a;在 CSDN 上发一篇…

Python编程比较好的机构怎么选择

想要进入到IT行业&#xff0c;很多人的首要选择都是学习Python编程语言&#xff0c;因为Python编程语言入门是相对比较简单的&#xff0c;但是想要学好Python技术&#xff0c;找一个好的Python培训机构是非常重要的&#xff0c;那么Python编程比较好的机构怎么选择呢?来看看下…

赚钱是刚需,如何正确的交易股票?

试着考虑下面这些情景&#xff1a; 听隔壁老王说&#xff0c;最近股市行情不错&#xff0c;自己也想买点股票&#xff0c;但不知道该买那支&#xff1f;犹犹豫豫到处打听消息。 买入一支股票后&#xff0c;时不时就会拿出手机看看它的价格&#xff0c;有时候甚至一天要看很多…

C# Windows CE使用小技巧实例

C# Windows CE使用的一些感受&#xff1a;使用Windows的开发机上用C#启动一个外部程序的方法有很多&#xff0c;但这些方法用在使用WinCE的目标工控机上都无能为力。 C# Windows CE使用1、 现在以打开一个IE为例&#xff0c;介绍如何在WinCE下使用C#来打开一个外部文件&#xf…

Ovirt 安装部署方法

官方的安装文档&#xff1a;http://www.ovirt.org/documentation/install-guide/Installation_GuideOvirt note 系统镜像的下载&#xff1a;http://www.ovirt.org/download http://mirror.isoc.org.il/pub/ovirt/ovirt-4.1/iso/ovirt-node-ng-installer-ovirt/4.1-2017072816/…

零基础如何选择适合的Java培训课程

很多人都想要学习java技术&#xff0c;但是害怕自己是零基础学不好&#xff0c;所以想要找专业的java培训机构进行学习&#xff0c;但是零基础如何选择适合的Java培训课程成了他们比较头疼的事情&#xff0c;下面小编就为大家做下详细的介绍。 ​  零基础如何选择适合的Java培…

Android Intent的几种用法全面总结

Android Intent的几种用法全面总结 Intent, 用法Intent应该算是Android中特有的东西。你可以在Intent中指定程序要执行的动作&#xff08;比如&#xff1a;view,edit,dial&#xff09;&#xff0c;以及程序执行到该动作时所需要的资料。都指定好后&#xff0c;只要调用startAct…

七天学会「股票数据分析软件」的开发(中)

两天前&#xff0c;我写了 七天学会「股票数据分析软件」的开发&#xff08;上&#xff09;&#xff0c;号召大家尝试着写写代码&#xff0c;不知道大家进度如何。 如果存在掌握一种技能的刚需&#xff0c;而且知道正确的学习方法&#xff0c;经过刻意练习&#xff0c;这门技能…

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一1.1 生成执行计划

1.1 生成执行计划 在Oracle中&#xff0c;任何一条语句在解析过程中都会生成一个唯一的数值标识&#xff0c;即SQL_ID。而同一条语句&#xff0c;在解析过程中&#xff0c;可能会因为执行环境的改变&#xff08;例如某些优化参数被改变&#xff09;而生成多个版本的游标&#…

软件测试培训:高薪测试技术要掌握哪些

职业技能一 1. 软件测试&#xff1a; 1) 熟练灵活地运用等价类、边界值、判定表法、因果图法等各种方法设计测试用例&#xff0c;包括单元测试、集成测试、系统测试用例设计。 2) 牢固掌握了软件测试计划、测试日报、测试报告的写作方法与要领。 3) 针对B/S、C/S架构及不同…

MFC-4简单的窗口重绘(非部分重绘)

#include <afxwin.h> #include "resource.h" #include <afxtempl.h> //定义模板类的头文件class MyDocument : public CDocument { public:CArray<CPoint,CPoint &> pArray;//<保存的数据类型,读取保存数据类型的返回值>void AddPoint…