VS VB 中使用水晶报表连接SQL Server数据库教程

4星 · 超过85%的资源 需积分: 10 7 下载量 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动态设置数据库连接,这在处理多个数据库或者需要动态改变连接参数的场景下非常有用。