VS VB 中使用水晶报表连接SQL Server数据库教程
4星 · 超过85%的资源 需积分: 10 85 浏览量
更新于2024-09-12
收藏 2KB TXT 举报
该资源是一个关于在Visual Studio (VS) 中使用VB.NET语言与水晶报表(Crystal Reports)集成,创建数据库连接的教程。主要内容涉及如何在报表设计阶段设置数据源,以及在运行时动态配置数据库连接信息。
在VS中使用VB.NET与水晶报表进行数据库连接的关键步骤如下:
1. 添加报表文件:在解决方案资源管理器中,选择需要存放报表的位置,通过“添加新项”功能添加一个名为`cr1.rpt`的Crystal Report文件。
2. 设置数据源:在打开的“报表专家”中,选择数据源类型为OLE DB,然后根据实际使用的数据库(例如SQL Server 2000)选择相应的数据库驱动。
接下来,代码部分展示了如何在程序运行时动态设置报表的数据库连接信息:
```vbnet
' 引入必要的命名空间
Imports CrystalDecisions.Shared ' 表用于TableLogOnInfo
Imports CrystalDecisions.CrystalReports.Engine ' 表示ReportDocument
' 页面加载事件处理
Private Sub Page_Load(sender As Object, e As EventArgs)
' 创建TableLogOnInfo对象
Dim logOnInfo As New TableLogOnInfo()
' 创建ReportDocument对象
Dim oRpt As New ReportDocument()
' 获取.rpt文件的实际路径
Dim path1 As String, path2 As String
path1 = Server.MapPath("\\exer\\pagelet")
path2 = Path.Combine(path1, "crystal\cr1.rpt")
' 加载报表文件
oRpt.Load(path2)
' 从web.config文件中获取数据库连接信息
Dim a As String, b As String, c As String, d As String
' 获取ServerName
a = System.Configuration.ConfigurationSettings.AppSettings("servername")
' 获取DatabaseName
b = System.Configuration.ConfigurationSettings.AppSettings("database")
' 获取UserId
c = System.Configuration.ConfigurationSettings.AppSettings("userid")
' 获取Password
d = System.Configuration.ConfigurationSettings.AppSettings("pass")
' 配置TableLogOnInfo对象
logOnInfo.ConnectionInfo.ServerName = a
logOnInfo.ConnectionInfo.DatabaseName = b
logOnInfo.ConnectionInfo.UserID = c
logOnInfo.ConnectionInfo.Password = d
' 应用数据库连接信息到报表的每个表
For Each table As Table In oRpt.Database.Tables
table.LogOnInfo = logOnInfo
table.ApplyLogOnInfo(logOnInfo)
Next
End Sub
```
在这个过程中,首先创建了`TableLogOnInfo`对象,然后实例化了`ReportDocument`,加载了`.rpt`报表文件。之后,从`web.config`文件中读取数据库连接字符串的各个部分(ServerName, DatabaseName, UserId, Password),并将这些信息填充到`TableLogOnInfo`中。最后,遍历报表中的所有表,将配置好的数据库连接信息应用到每个表,确保报表在运行时能够正确连接到数据库并加载数据。
这个过程对于开发基于Web的应用程序特别重要,因为这样可以避免在代码中硬编码数据库连接信息,而是将它们存储在配置文件中,便于管理和维护。同时,它也展示了如何利用水晶报表的API动态设置数据库连接,这在处理多个数据库或者需要动态改变连接参数的场景下非常有用。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-09-23 上传
348 浏览量
2011-02-12 上传
283 浏览量
2007-05-22 上传
2022-09-23 上传
feiyangz2010
- 粉丝: 0
- 资源: 2
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率