在 ASP.NET 2.0 中,现在是通过新的 DataSource 控件框架来配置和访问数据源。在默认情况下,Crystal 报表不需要独立数据源,因为数据访问封装在报表中。
但是,如果数据来自安全的 SQL Server,则报表需要一个数据源来管理登录过程。
添加 SqlDataSource 控件
打开 Default.aspx 页面(Web 窗体)。
从“视图”菜单中,单击“设计器”。
注意您也可以通过单击窗体视图底部的“设计”按钮,切换到设计视图。
用鼠标单击 CrystalReportSource 控件的右边,然后按 Enter 键。
CrystalReportSource 控件下方会出现闪烁的光标。
在“工具箱”中,单击“数据”子节点以展开“Data”控件。
从“数据”子节点中,将“SqlDataSource”控件拖到 Web 窗体上的 CrystalReportSource 控件的下方。
在智能任务面板(名为“公用 SqlDataSource 任务”)中,单击“配置数据源...”。
在“配置数据源”窗口中,单击“新建连接...”。
在“添加连接”对话框中的“服务器”名称字段中,输入数据库服务器的名称。
在“登录到服务器”面板中,选择“使用 SQL Server 身份验证”或“使用 Windows 身份验证”单选按钮。
如果选择“SQL Server 身份验证”,请执行以下操作:
- 在“用户名”和“密码”字段中输入值。
注意请记得使用受限访问数据库帐户。
- 选中“保存我的密码”复选框。
- 在“用户名”和“密码”字段中输入值。
如果选择“Windows 身份验证”,请转到下一步。
在“连接到数据库”面板中,选择“选择或输入数据库名称”单选按钮。
从列表中选择“Northwind”,然后单击“测试连接”。
将会验证 Northwind 数据库连接。如果连接失败,请检查您的密码。
一旦连接测试成功,请单击“确定”关闭“连接属性”窗口。
在“配置数据源”窗口中,“连接字符串”字段会显示完整的连接信息。
如果选择 Windows 身份验证,Integrated Security 属性会设置为 True。
Data Source=ABCDE;Initial Catalog=Northwind;Integrated Security=True如果选择 SQL 身份验证,则会指定用户 ID 和密码值。
注意出于安全性考虑,使用访问权限受到限制的数据库帐户非常重要。有关更多信息,请参见“安全性:创建受限访问数据库帐户”。
注意 在编写的代码中,要把示例服务器名、数据库名和密码(显示如下)替换为您自己的连接信息。
Server=ABCDE;User ID=limitedPermissionAccount;Password=1234;Database=Northwind;Persist Security Info=True
单击“下一步”,并在随后出现的窗口中再次单击“下一步”,以默认名称“NorthwindConnectionString”保存连接。
单击“指定来自表或视图的列”选项。
在“名称”列表中,选择“客户”。
在“列”窗格中,选择“公司名称”、“联系人姓名”和“城市”复选框,然后单击“下一步”。
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/8yfdxzdx.alert_note(zh-cn,VS.90).gif" alt="Note" class="note" />注意</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>在此处选择的列必须与原始报表中选择的列相匹配。如果您以后用嵌入式 Crystal Reports 设计器更改报表中选中的列,则必须在 SQL 语句中更改此处的列。出于可伸缩性的考虑,强烈建议您不要使用星号选择,而应选择报表所用的特定列。</p></td>
</tr>
</tbody>
</table>
在“测试查询”窗口中,单击“测试查询”。
如果查询成功,则单击“完成”。
“SqlDataSource”控件会显示在窗口底部,位于“CrystalReportViewer”控件和“CrystalReportSource”控件下方。