1 / 117

第 12 章  SQL Server 应用程序开发

第 12 章  SQL Server 应用程序开发. 12.1 使用 Access 开发 SQL Server 应用程序.

herbst
Télécharger la présentation

第 12 章  SQL Server 应用程序开发

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第12章 SQL Server应用程序开发

  2. 12.1使用Access开发SQL Server应用程序 • 在Access 2000或更高版本中,可以使用Access项目对SQL Server数据库高效、方便的访问。使用Access项目可以轻松地创建客户/服务器应用程序。操作Access项目与操作Access数据库非常相似。除了要连接到SQL Server数据库外,在Access项目中创建和应用窗体、报表、数据访问页、宏和模块的方法,与在Access数据库中所用的方法是相同的。下面以Access 2000为例来介绍如何使用Access来开发SQL Server应用程序。

  3. 12.1.1创建Access项目 • Access项目是一种Access数据文件,它能通过OLE DB组件结构有效地以本地模式访问SQL Server数据库。OLE DB是一种组件数据库体系,它对多种类型数据源实现有效的网络和Internet访问。使用Access项目可以轻松地创建一个客户/服务器应用程序,既可以是基于窗体、报表的传统解决方案,也可以是通过数据访问页实现的基于Web的解决方案,或是两者的结合。

  4. 12.1.1创建Access项目 • Access项目中只包含基于代码或基于HTML的数据库对象:窗体、报表、数据访问页的名称及位置、宏和模块,这些都是用于创建应用程序的数据库对象。与Access数据库区别在于,Access项目不包含任何基于对象的数据或数据定义:表、视图、数据库图表、存储过程或用户定义函数,这些数据库对象存储在SQL Server数据库中,通过OLE DB可以将它们与Access项目连接起来。 • 在Access 2002中,可以创建一个Access项目并将它与SQL Server数据库连接。通常有以下三种情况。

  5. 1.创建Access项目并将其与现有 SQL Server数据库连接 • 启动Access 2002,然后从“文件”选单中选择“新建”命令。 • 在“新建文件”任务窗格中,单击“项目(现有数据)”,在 “文件新建数据库”对话框中,单击“保存位置”框中的一个地址,并在“文件名”框中键入项目文件名,确保“Microsoft Access项目”出现在“保存类型”框中,之后,单击“创建”按钮。 • 当出现 “数据链接属性”对话框时,选择“连接”选项卡,然后选择或输入要登录的服务器名称。

  6. 提供登录到服务器上所需的信息,为此应执行下列操作之一:提供登录到服务器上所需的信息,为此应执行下列操作之一: • 若要使用Windows账户登录到SQL Server服务器,请单击“使用Windows NT集成安全设置”选项。 • 若要使用指定的登录ID和密码登录到SQL Server服务器,请单击“使用指定的用户名称和密码”选项,并输入相应的用户名称和密码。 • 选中“在服务器上选择数据库”选项,然后在该选项下面的下拉式列表中选择要连接的SQL Server数据库(如示例数据库Northwind)。

  7. 单击“确定”按钮,完成到指定数据库的连接,此时该数据库中包含的各个对象将显示在“项目”窗口中,如图12.4所示。单击“确定”按钮,完成到指定数据库的连接,此时该数据库中包含的各个对象将显示在“项目”窗口中,如图12.4所示。

  8. 2创建SQL Server数据库并将其与Access项目连接步骤 • 从“文件”选单中选择“新建”命令。 • 在“新建文件”窗格中,单击“项目(新数据)”, • 在“文件新建数据库”对话框中,单击“保存位置”框中的一个地址,并在“文件名”框中键入一个名称,然后单击“创建”按钮。

  9. 在如图12.6所示的“Microsoft SQL Server数据库向导”对话框中,键入要使用的服务器的名称、在服务器上具有CREATE DATABASE权限的账户的登录ID和密码以及新SQL Server数据库的名称,然后单击“下一步”按钮。

  10. 注意 •   如果正在创建一个SQL Server 6.5数据库,请输入数据库设备和大小、事务处理日志设备和大小、数据库的大小和日志的大小。无需为SQL Server 7.0或更高版本指定设备和大小。在Access 2000中,可以使用Microsoft SQL Server数据库向导创建SQL Server 6.5或SQL Server 7.0 数据库。若要Microsoft SQL Server数据库向导创建SQL Server 2000 数据库,则应使用Access 2002。

  11. 在如图12.7所示的对话框中,单击“完成”按钮。

  12. 3创建不与SQL Server数据库连接的Access项目 • 步骤 • 从“文件”选单中选择“新建”命令。 • 在“新建文件”任务窗格中的“新建”下,单击“项目(现有数据)”。 • 在“文件新建数据库”对话框中,单击“保存位置”框中的一个地址,然后在“文件名”框中键入文件名;确保“Microsoft Access项目”出现在“保存类型”框中,然后单击“创建”按钮。 • 当出现“数据链接属性”对话框时,单击“取消”按钮。 • 如果以后想将该项目与指定的SQL Server数据库连接起来,请在“文件”选单中选择“连接”命令,然后设置所需的连接信息。

  13. 12.1.2打开Access项目 • 步骤 • (1)在“文件”选单中选择“打开”命令。 • (2)单击“打开”对话框左侧的快捷方式,或者在“查找范围”框中单击包含要打开的Access项目的驱动器或文件夹。 • 若要查看以前打开过的Access项目的快捷方式列表,请单击“打开”对话框左侧的“历史”。 • (3)在文件夹列表中双击文件夹,直到打开包含Access项目的文件夹。 • 如果找不到想要打开的Access对象,请单击“打开”对话框右上角的“工具”,然后单击“查找”,并在“查找”对话框中输入搜索条件。

  14. (4)单击打开的Access项目文件,然后执行下列操作之一:(4)单击打开的Access项目文件,然后执行下列操作之一: • 若要打开Access项目,请单击“打开”按钮。 • 若要以只读访问方式打开Access项目,请单击“打开”箭头,然后选择“以只读方式打开”命令。 •  在Access 2002中,可以只以独占模式打开Access项目。如果试图打开一个其他用户已经打开的Access项目,则Access会提示用户打开了该文件的一个只读副本。 •  需要说明的是,当以只读模式打开Access项目时,仍然可以添加或修改数据,创建或修改表、视图、数据库图表或存储过程,因为数据和这些对象是驻留在SQL Server数据库中。然而,不能创建或修改窗体、报表、宏或模块,因为这些对象是驻留在Access项目中的。

  15. 12.1.3 连接到SQL Server数据库 • 下面介绍将Access项目连接到SQL Server数据库,或者更改Access项目与SQL Server数据库的连接方法。 • 在Access 2002在,打开要连接到SQL Server数据库的Access项目。 • (1)从“文件”选单中选择“连接”命令。 • (2)在如图12.8所示的“数据链接属性”对话框中,选择“连接”选项卡。 • 从下拉列表中选择一个服务器名,或键入想要访问数据库所在的服务器位置。单击“刷新”按钮,可以刷新服务器列表。

  16. 下面介绍将Access项目连接到SQL Server数据库,或者更改Access项目与SQL Server数据库的连接方法。 • 在Access 2002在,打开要连接到SQL Server数据库的Access项目。 • (1)从“文件”选单中选择“连接”命令。 • (2)在 “数据链接属性”对话框中,选择“连接”选项卡。 • (3)从下拉列表中选择一个服务器名,或键入想要访问数据库所在的服务器位置。单击“刷新”按钮,可以刷新服务器列表。

  17. (4)输入登录到服务器所需的信息,可以使用Windows NT集成安全机制,也可以使用指定的用户名和密码。 • (5)从所选服务器上,选择要连接的SQL Server数据库。 • 若要测试所做的设置是否正确,请单击“测试连接”按钮。此时,将尝试连接到指定的SQL Server数据库。如果连接失败,请确保设置是正确的。 • (6)单击“确定”按钮。

  18. 12.1.4 使用数据库表 • 在Access 2002中,既可以创建一个Access项目并将其与现有SQL Server数据库连接,也可以创建一个SQL Server数据库并将其与Access项目连接。无论是哪一种情况,只要打开了Access数据库中使用表设计器一样。所不同的是,对于Access项目来说,表存储在SQL Server数据库中;对于Access数据库来说,表即存储在该数据库中。

  19. 下面介绍通过Access项目在SQL Server数据库创建表的方法。 • 步骤 • 启动Access 2002,然后从“文件”选单中选择“新建”命令。 • 在“新建文件”窗格中,单击“项目(新数据)”。 • 在“文件新建数据库”对话框中,单击“保存位置”框中的一个地址,并在“文件名”框中键入一个名称(例中为Students),然后单击“创建”按钮。 • 当出现“Microsoft SQL Server数据库向导”对话框时,键入要使用的服务器的名称、在服务器上具有CREATE DATABASE权限的账户的登录ID和密码以及新SQL Server数据库的名称(例中为StudentsSQL),然后单击“下一步”按钮.

  20. 在随后出现的对话框中,单击“完成”按钮,以完成StudentsSQL数据库的创建。在随后出现的对话框中,单击“完成”按钮,以完成StudentsSQL数据库的创建。 • 在如图12.10所示的项目窗口中,单击对象栏下方的“表”,然后执行下列操作之一:

  21. 单击项目窗口工具栏上的“新建”按钮。 • 在项目窗口中双击“使用设计器创建表”。 • 此时出现如图12.11所示的表设计器窗口,该窗口与SQL Server 2000的表设计器基本相同。表设计器上部网格中的每一行对应表中的一列。

  22. 创建表时,需要对表中的每一列进行定义:在上部网格中指定列名称、选择数据类型并键入列说明文本,然后在窗口下部的“列”选项卡中对列的各种属性进行设置。创建表时,需要对表中的每一列进行定义:在上部网格中指定列名称、选择数据类型并键入列说明文本,然后在窗口下部的“列”选项卡中对列的各种属性进行设置。 • 按照要求,完成Students表结构的定义,并将student_id列设置为表的主键,然后单击工具栏中的“保存”按钮。 • 当出现如图12.12所示的“选择名称”对话框时,在“输入表名称”框中输入Students,然后单击“确定”按钮。

  23. 按照要求,完成Courses表结构的定义。 • 按照要求,完成Scores表结构的定义。 • 完成数据库表结构定义后,若要向表中输入数据或查看表中的数据,请单击该表,然后单击项目窗口工具栏上的“打开”按钮;若要修改表结构,请单击项目窗口工具栏上的“设计”按钮;若要删除一个表,请在项目窗口中单击该表,然后单击项目窗口工具栏上的“删除”按钮。

  24. 12.1.5 使用图表 • 为了使数据库可视化,可以创建一个或更多的关系图,以显示数据库中的部分或全部表、列、键和关系。对于任何数据库都可以创建任意多个数据库关系图;每个数据库表可以出现在任意多个关系图上。在Access 2002中,可以使用图表设计器来创建数据库关系图,该关系图存储在SQL Server数据库中。 • [例12.2] 本例说明如何使用图表设计器来创建数据库关系图。在Students项目中通过stduent_id列在Scores表之间建立关系,通过course_id列在Scores表和Courses表之间建立关系。

  25. 步骤 • (1)在Access 2002中打开项目Students.adp。 • 在如图12.13所示的项目窗口中,单击对象栏下方的“数据库图表”,然后执行下列操作之一:

  26. (2)单击项目窗口工具栏上的“新建”按钮。 • 在项目窗口中双击“使用设计器创建数据库图表”。 • (3)当出现如图12.14所示的“添加表”对话框时,按住Ctrl键依次单击要添加到数据库图表中的表,然后单击“添加”按钮,再单击“关闭”按钮。在本例中向图表中添加了三个表,即Students表、Courses表和Scores表。

  27. (4)表设计器窗口中,用鼠标将Students表的主键列student_id拖向Scores表的student_id列上,然后释放鼠标按键。(4)表设计器窗口中,用鼠标将Students表的主键列student_id拖向Scores表的student_id列上,然后释放鼠标按键。 • (5)当出现如图12.15所示的“创建关系”对话框时,如果所建关系的各个选项的默认设置符合要求,直接单击“确定”按钮即可;也可以根据需要更改这些设置,然后单击“确定”按钮。

  28. 当在表之间建立关系以后,相应的表之间会出现一条关系线,如图12.16所示。图中线的终结点表示关系是一对一还是一对多:如果关系在一个终结点有一个键,在另一个终结点有一个∞字形,则是一对多关系;如果关系在每个终结点都有一个键,则是一对一关系。当在表之间建立关系以后,相应的表之间会出现一条关系线,如图12.16所示。图中线的终结点表示关系是一对一还是一对多:如果关系在一个终结点有一个键,在另一个终结点有一个∞字形,则是一对多关系;如果关系在每个终结点都有一个键,则是一对一关系。

  29. (6)重复步骤(4)和(5),通过course_id列在Scores表和courses表之间建立关系。(6)重复步骤(4)和(5),通过course_id列在Scores表和courses表之间建立关系。 • (7)单击工具栏上的“保存”按钮,并在“另存为”对话框中指定图表名称,然后关闭数据库图表设计器窗口。 •   创建数据库图表后,若要修改该图表的设置,请单击该图表,然后单击项目窗口工具栏上的“设计”按钮;若要删除该图表,请单击该图表,然后单击项目窗口工具栏上的“删除”按钮。

  30. 12.1.6 使用查询 • 项目中的查询对应于SQL Server数据库中的视图,这种数据库对象存储在SQL Server数据库中,可以使用与表相同的方式在SQL查询语句中引用。在Access 2002中,可以使用查询设计器来创建视图。 • [例12.3] 本例说明如何使用查询设计器创建视图对象。在项目文件Students.adp中创建一个名为“学生成绩”的视图,其结果集内的数据分别来自Students表、Courses表和Scores表,所显示的输出列包括Students表中的student_num列、student_name列、Courses表中的course_name列以及Scores表中的score,要求按student_name列升序排列记录。

  31. 步骤 • 在Access 2002中打开项目文件Students.adp。 • 在如图12.17所示的项目窗口中单击对象栏下方的“查询”,然后单击项目窗口工具栏上的“新建”按钮,或者在项目窗口中双击“使用设计器创建视图”,以打开查询设计器窗口。

  32. 向视图中添加所需表。当出现“添加表”对话框时,将Students表、Courses表和Scores表添加视图中,然后关闭“添加表”对话框,并进入查询设计器窗口.向视图中添加所需表。当出现“添加表”对话框时,将Students表、Courses表和Scores表添加视图中,然后关闭“添加表”对话框,并进入查询设计器窗口. • 向视图中添加所需表列。在查询设计器窗口上部的“图表”窗格中,单击要输出的表列左侧的输出复选框,使这些列出现在下方的设计网格中。 •   在本例中,通过视图输出的列包括Students表中的student_num列和student_name列、Courses表中的course_name列以及Scores表中的score列。 • 指定输出列的别名。在设计网格中,分别在student_num,student_name,course_name和score列的“别名”框中键入中文名称,即“学号”、“姓名”、“课程名称”和“成绩”。

  33. 设置排序选项。在设计网格中,单击student_name列的“排序”单元格,然后选择“升序”选项,如图12.19所示。设置排序选项。在设计网格中,单击student_name列的“排序”单元格,然后选择“升序”选项,如图12.19所示。

  34. 单击工具栏上的“保存”按钮,并在“另存为”对话框中将视图名称指定为“学生成绩”,然后单击“确定”按钮。单击工具栏上的“保存”按钮,并在“另存为”对话框中将视图名称指定为“学生成绩”,然后单击“确定”按钮。 • 从“视图”选单中选择“数据表视图”命令,或者单击工具栏上的“视图”按钮,或者单击工具栏的“运行”按钮,以浏览视图的运行结果,如图12.20所示。

  35. 若要查看视图中的SQL语句,单击工具栏的“SQL”按钮即可。此时将在SQL窗格中看到以下SELECT查询语句:若要查看视图中的SQL语句,单击工具栏的“SQL”按钮即可。此时将在SQL窗格中看到以下SELECT查询语句: • SELECT TOP 100 PERCENT dbo.Students.student_num AS 学号,dbo.Students.student_num AS 姓名,dbo.Courses.course_name AS课程名称,dbo.Score.score AS成绩 FROM dbo.Courses INNER JOIN dbo.Score ON dbo.Courses.course_id INNER JOIN dbo.Students ON dbo.Scores. student_id= dbo.Students.student_id ORDER BY dbo.Students.student_name

  36. 由于事先已经使用图表设计器分别在Students表和Scores表以及Courses表和Scores表之间建立了关系,故在上述语句的FROM子句中自动出现了INNER JOIN运算符,通过内连接返回到在连接列中具有相等值的行。此外,在上述语句中还自动出现了TOP 100 PERCENT选项,如果不想使用该选项,可以单击工具栏上的“属性”按钮,然后在“属性”对话框的“视图”选项卡中清除“顶端”复选框。 •   在Access项目中创建一个视图之后,若要在数据表视图中查看结果集的内容,请单击该视图,然后单击项目窗口工具栏上的“打开”按钮;若要在设计视图中修改该视图的定义,请单击该视图,然后单击项目窗口工具栏上的“设计”按钮;若从项目中要删除该视图,请单击该视图,然后单击项目窗口工具栏上的“删除”按钮。

  37. 12.1.7 使用窗体 • 通过Access项目中的窗体可以输入和显示数据,这种窗体存储在Access项目中,数据本身则存储在SQL Server数据库中。在Access 2002中,既可以在设计视图中创建窗体,也可以使用向导创建窗体。 • [例12.4] 本例说明如何使用向导创建窗体。在项目文件Student.adp中创建一个名为“学生资料”的窗体,通过该窗体可以查看或修改Student表中的数据。

  38. 步骤 • 在Access 2002中打开项目文件Student.adp。 • 启动窗体向导。在如图12.21所示的项目窗口中单击对象栏下方的“窗体”,然后双击“使用向导创建窗体”。

  39. 确定在窗体上使用哪些字段。当出现如图12.22所示的对话框时,首先从“表/查询”列表框中选择将要作用窗体数据源的表或视图,然后在“可用字段”列表框中依次双击所需要的每个字段,将它们添加到“选定的字段”列表框中。也可以从多个表或视图中选择字段。若要删除某个已经选定的字段,请在“选定的字段”列表框中双击该字段。确定在窗体上使用哪些字段。当出现如图12.22所示的对话框时,首先从“表/查询”列表框中选择将要作用窗体数据源的表或视图,然后在“可用字段”列表框中依次双击所需要的每个字段,将它们添加到“选定的字段”列表框中。也可以从多个表或视图中选择字段。若要删除某个已经选定的字段,请在“选定的字段”列表框中双击该字段。

  40. 在本例中,为窗体选择的字段均来自Student表,包括student_num,student_name,student_sex,birthdate,department,speciality,grade以及class字段。确定窗体上所需字段后,单击“下一步”按钮。在本例中,为窗体选择的字段均来自Student表,包括student_num,student_name,student_sex,birthdate,department,speciality,grade以及class字段。确定窗体上所需字段后,单击“下一步”按钮。 • 确定窗体布局。当出现如图12.23所示的“窗体向导”对话框时,为窗体选择一种适当的布局方式。

  41. 每当选择一种布局方式时,可以在该对话框的左半部分查看相应的布局效果。例如,若要使每个表列都显示在一个独立的行上,并且左边带有一个标签,请选择“纵栏式”选项;若要使每一行的所有表列都显示在一行,标签显示在窗体的顶端,请选择“表格”选项。每当选择一种布局方式时,可以在该对话框的左半部分查看相应的布局效果。例如,若要使每个表列都显示在一个独立的行上,并且左边带有一个标签,请选择“纵栏式”选项;若要使每一行的所有表列都显示在一行,标签显示在窗体的顶端,请选择“表格”选项。 • 在本例中选择了“纵栏式”布局,单击“下一步”按钮。

  42. 确定窗体样式。当出现如图12.24所示的“窗体向导”对话框时,选择窗体所用的样式,可供选择的样式有“Sumi画”、“国际”、“宣纸”、“工业”、“标准”、“沙岩”、“混合”、“石头”、“蓝图”和“远征”。确定窗体样式。当出现如图12.24所示的“窗体向导”对话框时,选择窗体所用的样式,可供选择的样式有“Sumi画”、“国际”、“宣纸”、“工业”、“标准”、“沙岩”、“混合”、“石头”、“蓝图”和“远征”。 • 在本例中选择了“标准”样式,然后单击“下一步”按钮。

  43. 在如图12.25所示的“窗体向导”对话框中,将窗体的标题指定为“学生资料”,并选取“修改窗体设计”选项,然后单击“完成”按钮。在如图12.25所示的“窗体向导”对话框中,将窗体的标题指定为“学生资料”,并选取“修改窗体设计”选项,然后单击“完成”按钮。

  44. 在窗体设计器窗口中打开窗体之后,在窗体页眉区中添加一个标签,其文本内容为“学生资料”,并设置字体和字号;将每个文本框左侧的标签内容改为中文,例如将student_num改为“学号”,将student_name改为“姓名”,等等。经过修改后的窗体布局如图12.26所示。在窗体设计器窗口中打开窗体之后,在窗体页眉区中添加一个标签,其文本内容为“学生资料”,并设置字体和字号;将每个文本框左侧的标签内容改为中文,例如将student_num改为“学号”,将student_name改为“姓名”,等等。经过修改后的窗体布局如图12.26所示。

  45. 从“视图”选单中选择“窗体视图”命令,或者单击工具栏上的“视图”按钮,以查看窗体的运行效果,如图12.27所示。从“视图”选单中选择“窗体视图”命令,或者单击工具栏上的“视图”按钮,以查看窗体的运行效果,如图12.27所示。

  46. 在“窗体”视图中查看学生资料的情形如图12.27所示,此时可以通过单击窗体底部的浏览按钮在不同学生记录之间移动。在“窗体”视图中查看学生资料的情形如图12.27所示,此时可以通过单击窗体底部的浏览按钮在不同学生记录之间移动。 • 在项目中创建一个窗体之后,若要在窗体视图中查看该窗体,请单击该窗体,然后单击项目窗口工具栏上的“打开”按钮;若要修改该窗体的布局,请单击该窗体,然后单击项目窗口工具栏上的“设计”按钮;若要删除该窗体,请单击该窗体,然后单击项目窗口工具栏上的“删除”按钮。

  47. 12.1.8 使用报表 • 使用Access项目中的报表可以对数据进行计算、分组、汇总和打印,报表存储在Access项目中,数据本身则存储在SQL Server数据库中。在Access 2002中,既可以使用报表设计器创建报表,也可以使用向导创建报表。 • [例12.5] 本例说明如何使用向导创建报表。在项目Student.adp中创建一个名为“学生资料”的报表,按照学号升序显示所有学生的部分信息,并要求按照班级分组显示。

  48. 步骤 • 在Access 2002中打开项目文件Student.adp。 • 启动报表向导。在如图12.28所示的项目窗口中单击对象栏下方的“报表”,然后双击使用向导创建报表。

  49. 确定报表上使用哪些字段。当出现如图12.29所示的“报表向导”对话框时,从“表/查询”列表框中选择“表:Students”,然后在“可用字段”列表框中依次双击所需字段,将它们添加到“选定的字段”列表框中.在本例中选定student_num,student_name,student_sex,birthdate,department,speciality,grade以及class字段。然后单击“下一步”按钮。

  50. 确定分组级别。当出现如图12.30所示的“报表向导”对话框时,在左边的列表框中双击要作为分组依据的字段。在本例中选择class字段作为分组依据,然后单击“下一步”按钮

More Related