附录:对数据库登录代码的增强

现在您已经成功设置了用于在运行时更改数据库位置的代码。在本例中,数据库服务器是相同的,唯一不同的是您通过名称显式调用了该服务器。

不过,您现在可以将这个数据库服务器名称字符串改为包含 Northwind 数据库的其他任何数据库服务器。如果将 Crystal Reports 与 Visual Studio 2005 或 2008 一起使用,则可以访问增强的 API,以登录到安全的 SQL Server 数据库。Crystal Reports API 有助于最大程度减少登录数据库所需的代码量。

在先前的过程中,已学习了如何创建 SetDBLogonForReport() 帮助器方法,它使用 foreach 循环设置 Crystal 报表中每个表的 ConnectionInfo 属性。

在本教程中,将学习如何删除帮助器方法以及添加代码,以使用来自 CrystalDecisions.Shared 命名空间的 DataSourceConnections 类或来自 ReportDocument 类的 SetDatabaseLogon() 方法。

DataSourceConnections 类是一个 ArrayList,它包含 Crystal 报表所用的每个连接的 ConnectionInfo 实例。可以在指定的索引处获取 ConnectionInfo 实例,然后调用 SetLogon() 或 SetConnection() 方法,将登录信息传递到报表。

使用 SetLogon() 方法可以设置用户名和密码。此方法使用在报表中指定的默认服务器和数据库。使用 SetConnection() 方法可以设置服务器名、数据库名、用户名和密码。

要使用新的 API 代码,则必须完成“创建连接到安全的 SQL Server 数据库的报表”“绑定报表”中说明的操作。

然后,可以使用以下增强 API 方法之一:

如果已完成“教程:使用 SQL 身份验证登录安全的 SQL Server 数据库”中的所有过程,则必须先删除“为数据库登录修改项目”中所示的某些代码行,然后才能使用某一增强 API 方法。

在此节中: