转自MSDN
http://www.microsoft.com/china/msdn/library/data/sqlserver/bb219483.mspx?mfr=true
Microsoft Corporation
适用于:
• |
Microsoft Visual Studio 2005 |
• |
Microsoft SQL Server 2005 Compact Edition |
摘要:在本教程中,您将学习如何利用 Visual Studio 2005 中所集成的设计功能,来快速开发使用 SQL Server 2005 Compact Edition 数据库中所存储数据的应用程序。在本教程中会用到 Visual C#.NET。我们还会提供另外一个教程,来介绍如何使用 Visual Basic.NET 完成相同的任务。
本页内容
教程目标 | |
结束语 |
教程要求
运行本教程需要以下应用程序:
• |
Microsoft Windows XP Professional |
• |
Visual Studio 2005 本教程需要用到 Visual Studio 2005 Standard Edition、Professional 或 Team System Edition,而任何 Express Edition 均不适用。如果您没有适当版本的 Visual Studio 2005,请访问 Visual Studio 2005 开发中心,以了解如何获得该软件。 |
• |
Visual Studio 2005 Service Pack 1 可以在 http://go.microsoft.com/fwlink/?LinkID=79612 下载其副本。 |
• |
SQL Server 2005 Compact Edition 可以在 http://go.microsoft.com/fwlink/?LinkID=79611 下载其副本。 |
所用凭据
无
级别
200
预计教程学习时间
20 分钟
教程目标
在本教程中,您将学习如何利用 Visual Studio 2005 中所集成的设计功能,来快速开发使用 SQL Server 2005 Compact Edition 数据库中所存储数据的应用程序。在本教程中会用到 Visual C#.NET。我们还会提供另外一个教程,来介绍如何使用 Visual Basic.NET 完成相同的任务。
注意 SQL Server Compact Edition 是适用于所有 Windows 平台的多用途数据库技术,由称为 SQL Server Mobile Edition (SQL Mobile) 的 Windows Mobile 数据库技术演变而来。目前,一些 Visual Studio 2005 和 SQL Server Management Studio 2005 对话框仍将此产品称为 SQL Mobile;因此,在执行本教程中的步骤时,如果某个步骤指示您选择 SQL Server Compact Edition,而您的用户界面显示的却是 SQL Server Mobile,那么您应选择 SQL Server Mobile。这种命名上的差异只是一个短期的问题,在不久的将来会随着 Visual Studio 2005 SP1 和 SQL Server 2005 SP2 而有所改变。不管产品名称是 SQL Mobile 还是 SQL Server Compact Edition,其技术和用法都是相同的。
在本教程中,您将进行以下练习:
• |
使用 Visual Studio 2005 Designer 构建允许用户访问和更新 SQL Server 2005 Compact Edition 数据的应用程序 |
• |
在 Visual Studio 2005 中查看、创建并管理 SQL Server 2005 Compact Edition 数据 |
练习 1:使用 Visual Studio 2005 Designer 构建一个允许用户访问和更新 SQL Server 2005 Compact Edition 数据的窗体
在此项练习中,您将学习如何使用 Visual Studio 2005 Designer 构建一个允许用户访问和更新 SQL Server Compact Edition 数据的窗体。
创建项目
1. |
单击“开始”|“所有程序”|“Microsoft Visual Studio 2005”|“Microsoft Visual Studio 2005”,以启动 Visual Studio 2005。 |
2. |
单击“文件”|“新建”|“项目”,以创建新的 Windows Forms 应用程序。 |
3. |
在“项目类型”下的“新建项目”对话框中,浏览到“Visual C#”|“Windows”。 注意 受 Visual Studio 配置的影响,“Visual C#”可能会出现在“其他语言”下。 |
4. |
在“模板”框中,选择“Windows 应用程序”。 |
5. |
将“名称”改为“RADDataDemo”(如图 1 所示),然后单击“确定”。 注意 您可以将项目创建在所选“位置”。 图 1.“新建项目”对话框 Visual Studio 随即创建一个新项目并在窗体设计器中打开 Form1。现在,您将要设置该窗体,以显示和更新来自现有 SQL Server Compact Edition 数据库的数据。 |
将 SQL Server Compact Edition 数据库设置为数据源
Visual Studio 的“数据源配置向导”允许您向项目中添加数据源。您可从多种数据源中进行选择,其中包括 SQL Server 和 SQL Server Compact Edition、Web 服务或内存中的对象。在本次实践中,您将选择 SQL Server Compact Edition Northwind 示例数据库作为应用程序的数据源。大多数情况下,会使用该数据源将数据绑定到应用程序的用户界面。
1. |
在 Visual Studio 中,单击“数据”|“显示数据源”,以打开“数据源”窗格。 |
2. |
在“数据源”窗格中,单击位于“数据源”窗格左上方的“添加新数据源”按钮(如图 2 所示)。 “数据源配置向导”随即出现。 图 2. 单击“添加新数据源” |
3. |
选择“数据库”作为数据源类型,然后单击“下一步”(如图 3 所示)。 图 3. 在“数据源配置向导”中选择数据源类型 |
4. |
在“选择您的数据连接”页上,单击“新建连接”。 注意 如果您先前已创建了到所需数据库的连接字符串,该连接会出现在下拉框中供您选择,您不必再创建新的连接。 |
5. |
在“选择数据源”对话框上,选择“Microsoft SQL Server 2005 Compact Edition”,然后单击“继续”(如图 4 所示)。 图 4. 更改数据源 |
6. |
在“添加连接”对话框上,确保选择“我的电脑”选项作为“数据源”(如图 5 所示)。这样,您才可以从计算机的硬盘选择数据库文件作为数据源。 |
7. |
还是在“添加连接”对话框上,单击“浏览”,以打开文件选择对话框。 图 5. 添加连接 |
8. |
在文件选择对话框中,选择文件 C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\Northwind.sdf,然后单击“打开”以选择该数据库。 |
9. |
在“添加连接”对话框中,单击“测试连接”,以验证是否正确设置了数据库连接。如果该数据库文件存在,而且 SQL Server Compact Edition 已正确安装,则会出现一个对话框,通知您连接成功。 |
10. |
单击“确定”以关闭“测试连接成功”对话框。 |
11. |
既然连接测试成功,请在“添加连接”对话框上单击“确定”。 |
12. |
现在,您可以在“选择您的数据连接”对话框上展开“连接字符串”,以查看已生成的连接字符串(如图 6 所示)。 图 6.“选择您的数据连接”对话框,显示所选的连接字符串 |
13. |
在“选择您的数据连接”对话框上,单击“下一步”。 |
14. |
随即会出现一个提示,询问是否要将本地数据文件复制到项目中并相应修改连接(如图 7 所示)。单击“是”,以将本地数据文件复制到项目中。 图 7. 有关将本地数据文件复制到当前项目的提示 |
15. |
出现保存连接字符串的提示时,务必选中“是,将连接保存为”复选框。保留连接字符串的默认名称“NorthwindConnectionString”,然后单击“下一步”(如图 8 所示)。将所有连接字符串保存在应用程序的配置文件中是一种很好的做法,这样无需重建和重新部署应用程序即可轻松地引用数据库文件的不同副本。 图 8.“保存连接字符串”对话框 |
16. |
在“选择数据库对象”页上,展开“表”,然后选中“客户”、“雇员”、“订单”和“运货商”表,以将其包括在数据集中(如图 9 所示)。 图 9.“选择数据库对象”对话框 |
17. |
保留默认的“DataSet 名称”,即“NorthwindDataSet”,然后单击“完成”(如图 9 所示)。 Visual Studio 即会创建数据集,该数据集随即在“数据源”窗格中可见。 |
从数据集中的表创建窗体元素
使用 Visual Studio,可以指定要与数据库表中的每列相关联的默认控件,然后只需将表列甚至整个表拖放到窗体上,即可轻松地创建和设置数据绑定控件。您将利用这些功能,来构建一个用户可用来查看和修改数据库值的窗体。
1. |
在 Visual Studio“数据源”窗格中,展开 NorthwindDataSet 以显示数据集中包含的所有表(如果这些表尚未显示)。 |
2. |
展开“订单”表,以显示表列的列表。 |
3. |
选择“订单”上的下拉框,然后选择“详细信息”(如图 10 所示)。 选择“详细信息”后,将表置于窗体上时,会为表中的每列生成个别控件。 图 10. 将“订单”表的视图更改为“详细信息” |
4. |
单击“订单 ID”上的下拉框并选择“标签”,以将“订单 ID”列的默认控件更改为“标签”。按相似的方法将“客户 ID”、“雇员 ID”和“运货商”列的默认控件更改为“组合框”。 |
5. |
将“订单”表拖放到窗体上。 Visual Studio 随即创建表中每列的控件、数据库导航控件,以及用于将这些控件链接到表的所有必要的数据绑定。得到的窗体如图 11 所示。 图 11. 将“订单”表拖动到窗体后的窗体和组件栏 |
6. |
将“客户”表拖动到窗体中的“客户 ID”ComboBox 上。这样,Visual Studio 即会在“客户”表和 ComboBox 之间创建一个绑定,以使“客户”表的相应内容自动填入 ComboBox 下拉框中,成为其下所列的选择项。该下拉框将显示每个客户的姓氏,而不会显示实际的客户号。这是因为 Visual Studio 会自动修改数据绑定,以将显示值设置为表中不属于主键的第一个字符串列。对于“客户”表而言,不属于主键的第一个字符串列是“姓氏”列。 |
7. |
采用与上一步相同的方法创建数据绑定,以使“雇员”表和“运货商”表的内容分别填入“雇员 ID”ComboBox 下拉框和“运货商”ComboBox 下拉框中。 |
8. |
将窗体的右侧进一步扩大,以便有空间放置 PictureBox 控件。 |
9. |
单击“查看”|“工具箱”以打开“工具箱”窗格,然后展开“公共控件”。 |
10. |
将 PictureBox 控件从“工具箱”拖动到窗体右侧的空白区域。 |
11. |
单击 PictureBox 右上方的智能标记箭头按钮,以显示智能标记菜单。在智能标记菜单上,将“缩放模式”属性更改为“自动调整大小”(如图 12 所示)。将“缩放模式”属性设置为“自动调整大小”后,PictureBox 会根据所显示图像的大小自动调整其大小。 图 12. 选择 PictureBox 缩放模式 |
12. |
在“数据源”窗格中,展开“雇员”表,将“照片”列拖动到刚刚创建的 PictureBox 控件上。Visual Studio 便会自动创建 PictureBox 到“照片”列的数据绑定。 注意 您应该已经通过将“照片”列直接从“数据源”窗格拖动到窗体上的方式创建了与数据绑定的 PictureBox,就像“订单”表中的其他列那样。除此之外,了先将 PictureBox 放在窗体上再将“照片”列从“数据源”窗格拖动到 PictureBox 上这种方式外,本教程还提供了一种替代方式,通过示例说明您还可以首先在窗体上布置控件,之后再关联数据绑定。 |
测试应用程序
1. |
在 Visual Studio 中,单击“调试”|“启动调试”。 当应用程序出现时,您应该看到窗体中已填满数据并显示出与订单相关联的员工的照片(如图 13 所示)。 图 13. 应用程序运行 |
2. |
将“货主国家”字段中的值由“中国”改为“意大利”,然后单击“保存数据”图标。这样,所做更改即保存到数据库中。 |
3. |
关闭窗体以退出应用程序。 |
4. |
在 Visual Studio 中单击“调试”|“启动调试”,以再次运行应用程序。 |
5. |
请注意,现在“货主国家”字段的值是“意大利”,这表明更改后的数据已正确地保存到数据库中。 也可以使用窗体顶部的导航控件,来浏览、新增和删除数据库项。 |
6. |
关闭窗体以退出应用程序。 |
练习 2:在 Visual Studio 2005 中查看、创建并管理 SQL Server 2005 Compact Edition 数据
在此项练习中,您将学习如何使用 Visual Studio 2005 来查看和修改现有 SQL Server 2005 Compact Edition 数据库中的数据,以及如何创建并操作新的 SQL Server 2005 Compact Edition 数据库。
查看现有数据连接中的数据
• |
在 Visual Studio 中,单击“视图”|“服务器资源管理器”。 “服务器资源管理器”窗格随即显示(如图 14 所示)。先前在本教程中所创建的 Northwind.sdf 数据连接会出现在其中,供您浏览。先前创建的其他数据连接也会出现。 图 14.“服务器资源管理器”窗格,显示现有的数据连接 |
• |
在“数据连接”下的“服务器资源管理器”窗格中,展开“Northwind.sdf”,然后展开“表”,以查看 Northwind.sdf 数据库中的所有表。 |
• |
使用“服务器资源管理器”可以查看数据库中任何表的内容。要查看“订单”表的内容,请右键单击“订单”表,然后选择“打开”。 此时“订单”表中的数据以表格式显示(如图 15 所示)。表视图会保持与数据库的活动连接;因此,您可以查看并修改“订单”表中的数据。 图 15.“订单”表中数据的表视图 在 Visual Studio 中执行您的应用程序时,Visual Studio 会在项目输出目录(通常为 bin\Debug 子目录)中生成项目数据库文件的副本,它是应用程序所用的数据库文件副本。有了数据库文件的单独副本,您可以在应用程序测试期间根据需要随意修改数据库文件的副本,而不必修改数据库的初始版本。 “服务器资源管理器”内先前在本教程中创建的 Northwind.sdf 连接会引用初始 Northwind.sdf 数据库文件,而不是输出目录中的副本;因此,应用程序对数据库所做的任何更改在此视图中都是不可见的。要查看应用程序所使用的数据库文件,必须创建一个引用输出目录中数据库文件的新“服务器资源管理器”连接。 默认情况下,只有在输出目录中尚不存在数据库文件时,或是在初始数据库文件比输出目录中的副本更新时,Visual Studio 才会将初始数据库文件复制到输出目录。如果您希望 Visual Studio 在您每次启动应用程序时都将初始数据库文件复制到输出目录中,则右键单击“解决方案资源管理器”窗格中的数据库文件,选择“属性”,然后将“复制到输出目录”属性设置为“始终复制”。 |
• |
关闭“订单”表窗口。 |
创建新的数据库
1. |
在“服务器资源管理器”窗格中,右键单击“数据连接”,然后单击“添加连接...”,以显示“添加连接”对话框。 |
2. |
在“添加连接”对话框中,如果“数据源”字段尚未设置为“Microsoft SQL Server Compact Edition”,则单击“更改...”,将其值改为“Microsoft SQL Server Compact Edition”。 |
3. |
在“添加连接”对话框中,确保将“我的电脑”选项选择为“数据源”。 |
4. |
仍然在“添加连接”对话框中,单击“创建”。 “创建新 SQL Server Compact Edition 数据库”对话框随即出现(如图 16 所示)。 图 16.“创建新 SQL Server Compact Edition 数据库”对话框 |
5. |
使用您所选择的目录,输入完全限定的数据库文件名,其中数据库文件本身的名称为 NewDatabase.sdf。例如,要在名为 C:\MyProjects 的文件夹中创建数据库文件,请输入 C:\MyProjects\NewDatabase.sdf 数据库文件名。 注意 SQL Server Compact Edition 并不要求您给出文件名的扩展名 .sdf。但我们鼓励您在创建 SQL Server Compact Edition 文件时始终使用 .sdf 扩展名,因为所有的工具都假设 SQL Server Compact Edition 数据库文件有此扩展名。 |
6. |
选中“加密”,增加数据库的安全性。 |
7. |
要创建加密的数据库,必须为数据库提供密码。将“password”一词键入“新密码”和“确认密码”字段中。 |
8. |
单击“确定”。 如图 17 中所示,会随即出现一个对话框,说明所选密码没有达到最低的安全性要求。在本教程中,您可以仍继续使用“password”数据库密码。 图 17. 密码最低安全性要求警告对话框 |
9. |
单击“是”以继续使用所选的密码。 |
10. |
此时应出现“添加连接”对话框(如图 18 所示)。单击“确定”,以创建数据库连接。 Visual Studio 随即创建一个与新数据库的连接,它此时将出现在“服务器资源管理器”窗格中。 图 18. 添加与新密码保护数据库的连接 |
在数据库中创建表
• |
在“服务器资源管理器”窗格中,展开刚刚创建的“NewDatabase.sdf”数据连接。 |
• |
右键单击“表”,然后选择“创建表”。 “新建表”窗口随即显示。 |
• |
在“名称”字段中键入“客户”,以设置新表的名称。 |
• |
单击“列名”标题下的单元格并键入列名,以添加一个列。将此列命名为 Id, |
• |
现在,设置该列其余的说明符:将“数据类型”设置为“int”、“允许空”设置为“否”、“唯一”设置为“是”,且“主键”设置为“是”(如图 19 所示)。 “Id”列将用作主键字段。 注意 对于具有多部分主键的表,应将组成主键的每一列的“主键”值设为“是”。 |
• |
添加名为“姓名”的列,并保留其相关值作为默认值(如图 19 所示)。 图 19. 向新表添加列 |
• |
单击“确定”以创建表。 Visual Studio 随即创建“客户”表。“客户”表此时在“服务器资源管理器”窗格中是可见的(如图 20 所示)。 图 20. 新创建的“客户”表 |
• |
右键单击“客户”表并选择“打开”。 一个列出“客户”表数据的空表格随即出现。 |
• |
在“客户”表中添加一条记录,其“Id”值为“101”,“姓名”值为“Fred”。 |
• |
在“客户”表中再添加一条记录,其“Id”值为“102”,“姓名”值为“Barney”。 现在已成功地将两条记录添加到“客户”表中(如图 21 所示)。 图 21.“客户”表,包含新条目 |
• |
单击视图右上角的 X,以关闭“客户”表的视图。每行的数据会在您将光标移至下一行时保存到“客户”表中;因此,在关闭视图之前无需显式保存表。 |
创建新查询
1. |
在“服务器资源管理器”窗格中,展开“NewDatabase.sdf”的数据连接(如果尚未展开)。 |
2. |
右键单击“表”,然后选择“新建查询”。 “添加表”对话框随即出现,其中列出当前数据库中可用的表。对于此数据库,唯一可用的是“客户”表。 |
3. |
选择“客户”表,然后单击“添加”,使其成为查询的一部分。查询设计器随即显示“客户”表,列出各表列。 |
4. |
单击“关闭”,以关闭“添加表”对话框。 |
5. |
选中“客户”表中“Id”和“姓名”列左侧的框,以指示查询将返回这些列。 |
6. |
请注意,查询生成器会显示与您所选的表和列相对应的查询文本。某些情况下,直接键入一部分查询文本要比总是使用查询设计器图形界面容易得多。修改查询文本,在末尾加上 WHERE Name LIKE @name 子句(如图 22 所示)。 如您所见,查询设计器支持 SQL 参数,例如 @name。查询设计器会在您执行查询时自动提示您输入参数值。 图 22. 为从“客户”数据库选择数据所创建的查询 |
7. |
在 Visual Studio 中单击“查询设计器”|“执行 SQL”,以运行查询。 随即会出现一个提示,要求输入 @name 参数的值。 |
8. |
输入文本 f% 作为 @name 参数的值,使查询返回“姓名”字段以字母 f 开头的所有记录。单击“确定”查看查询结果。 查询结果随即显示(如图 23 所示)。 图 23. 显示的查询结果 |
9. |
单击窗口右上角的 X,以关闭查询设计器窗口。 |
执行数据库维护
最后一部分的目标只是让您对 SQL Server Compact Edition 数据库可使用的维护功能所有了解。本部分所介绍的所有维护功能也可以通过 System.Data.SqlServerCe.SqlCeEngine 类以编程的方式实现。
1. |
在“服务器资源管理器”窗格中,右键单击“NewDatabase.sdf”的数据连接,然后选择“数据库属性”。 “数据库属性”窗口随即显示(如图 24 所示)。 图 24.“数据库属性”窗口 |
2. |
请注意,“数据库属性”窗口会从“常规”页打开,用以显示有关所连接数据库的统计数据。 |
3. |
选择“收缩和修复”页,以显示用于压缩和修复数据库的选项。 |
4. |
选择“设置密码”页,以显示用于更改数据库密码的页。 |
5. |
单击“取消”,以关闭“数据库属性”窗口。 |
结束语
在本教程中,您进行了下列几项练习:
• |
使用 Visual Studio 2005 Designer 构建一个允许用户访问和更新 SQL Server 2005 Compact Edition 数据的应用程序 |
• |
在 Visual Studio 2005 中查看、创建并管理 SQL Server 2005 Compact Edition 数据 |
在本教程中,您学习了如何利用 Visual Studio 2005 中所集成的设计功能,来快速开发使用 SQL Server 2005 Compact Edition 数据库中所存储数据的应用程序。