




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 12.1使用Access开发SQL Server应用程序在Access 2000或更高版本中,可以使用Access项目对SQL Server数据库高效、方便的访问。使用Access项目可以轻松地创建客户/服务器应用程序。操作Access项目与操作Access数据库非常相似。除了要连接到SQL Server数据库外,在Access项目中创建和应用窗体、报表、数据访问页、宏和模块的方法,与在Access数据库中所用的方法是相同的。下面以Access 2000为例来介绍如何使用Access来开发SQL Server应用程序。第1页,共116页。12.1.1创建Access项目 Access项目是一
2、种Access数据文件,它能通过OLE DB组件结构有效地以本地模式访问SQL Server数据库。OLE DB是一种组件数据库体系,它对多种类型数据源实现有效的网络和Internet访问。使用Access项目可以轻松地创建一个客户/服务器应用程序,既可以是基于窗体、报表的传统解决方案,也可以是通过数据访问页实现的基于Web的解决方案,或是两者的结合。第2页,共116页。12.1.1创建Access项目Access项目中只包含基于代码或基于HTML的数据库对象:窗体、报表、数据访问页的名称及位置、宏和模块,这些都是用于创建应用程序的数据库对象。与Access数据库区别在于,Access项目不包
3、含任何基于对象的数据或数据定义:表、视图、数据库图表、存储过程或用户定义函数,这些数据库对象存储在SQL Server数据库中,通过OLE DB可以将它们与Access项目连接起来。在Access 2002中,可以创建一个Access项目并将它与SQL Server数据库连接。通常有以下三种情况。第3页,共116页。1.创建Access项目并将其与现有 SQL Server数据库连接启动Access 2002,然后从“文件”选单中选择“新建”命令。在“新建文件”任务窗格中,单击“项目(现有数据)”,在 “文件新建数据库”对话框中,单击“保存位置”框中的一个地址,并在“文件名”框中键入项目文件名
4、,确保“Microsoft Access项目”出现在“保存类型”框中,之后,单击“创建”按钮。当出现 “数据链接属性”对话框时,选择“连接”选项卡,然后选择或输入要登录的服务器名称。第4页,共116页。提供登录到服务器上所需的信息,为此应执行下列操作之一:若要使用Windows账户登录到SQL Server服务器,请单击“使用Windows NT集成安全设置”选项。若要使用指定的登录ID和密码登录到SQL Server服务器,请单击“使用指定的用户名称和密码”选项,并输入相应的用户名称和密码。选中“在服务器上选择数据库”选项,然后在该选项下面的下拉式列表中选择要连接的SQL Server数据库
5、(如示例数据库Northwind)。第5页,共116页。单击“确定”按钮,完成到指定数据库的连接,此时该数据库中包含的各个对象将显示在“项目”窗口中,如图12.4所示。第6页,共116页。2创建SQL Server数据库并将其与Access项目连接步骤从“文件”选单中选择“新建”命令。在“新建文件”窗格中,单击“项目(新数据)”,在“文件新建数据库”对话框中,单击“保存位置”框中的一个地址,并在“文件名”框中键入一个名称,然后单击“创建”按钮。第7页,共116页。在如图12.6所示的“Microsoft SQL Server数据库向导”对话框中,键入要使用的服务器的名称、在服务器上具有CREA
6、TE DATABASE权限的账户的登录ID和密码以及新SQL Server数据库的名称,然后单击“下一步”按钮。第8页,共116页。注意如果正在创建一个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
7、2002。第9页,共116页。在如图12.7所示的对话框中,单击“完成”按钮。 第10页,共116页。3创建不与SQL Server数据库连接的Access项目步骤从“文件”选单中选择“新建”命令。在“新建文件”任务窗格中的“新建”下,单击“项目(现有数据)”。在“文件新建数据库”对话框中,单击“保存位置”框中的一个地址,然后在“文件名”框中键入文件名;确保“Microsoft Access项目”出现在“保存类型”框中,然后单击“创建”按钮。当出现“数据链接属性”对话框时,单击“取消”按钮。如果以后想将该项目与指定的SQL Server数据库连接起来,请在“文件”选单中选择“连接”命令,然后设
8、置所需的连接信息。第11页,共116页。12.1.2打开Access项目 步骤(1)在“文件”选单中选择“打开”命令。(2)单击“打开”对话框左侧的快捷方式,或者在“查找范围”框中单击包含要打开的Access项目的驱动器或文件夹。若要查看以前打开过的Access项目的快捷方式列表,请单击“打开”对话框左侧的“历史”。(3)在文件夹列表中双击文件夹,直到打开包含Access项目的文件夹。如果找不到想要打开的Access对象,请单击“打开”对话框右上角的“工具”,然后单击“查找”,并在“查找”对话框中输入搜索条件。第12页,共116页。(4)单击打开的Access项目文件,然后执行下列操作之一:若
9、要打开Access项目,请单击“打开”按钮。若要以只读访问方式打开Access项目,请单击“打开”箭头,然后选择“以只读方式打开”命令。在Access 2002中,可以只以独占模式打开Access项目。如果试图打开一个其他用户已经打开的Access项目,则Access会提示用户打开了该文件的一个只读副本。需要说明的是,当以只读模式打开Access项目时,仍然可以添加或修改数据,创建或修改表、视图、数据库图表或存储过程,因为数据和这些对象是驻留在SQL Server数据库中。然而,不能创建或修改窗体、报表、宏或模块,因为这些对象是驻留在Access项目中的。第13页,共116页。12.1.3连接
10、到SQL Server数据库下面介绍将Access项目连接到SQL Server数据库,或者更改Access项目与SQL Server数据库的连接方法。在Access 2002在,打开要连接到SQL Server数据库的Access项目。(1)从“文件”选单中选择“连接”命令。(2)在如图12.8所示的“数据链接属性”对话框中,选择“连接”选项卡。从下拉列表中选择一个服务器名,或键入想要访问数据库所在的服务器位置。单击“刷新”按钮,可以刷新服务器列表。第14页,共116页。下面介绍将Access项目连接到SQL Server数据库,或者更改Access项目与SQL Server数据库的连接方法
11、。在Access 2002在,打开要连接到SQL Server数据库的Access项目。(1)从“文件”选单中选择“连接”命令。(2)在 “数据链接属性”对话框中,选择“连接”选项卡。(3)从下拉列表中选择一个服务器名,或键入想要访问数据库所在的服务器位置。单击“刷新”按钮,可以刷新服务器列表。第15页,共116页。(4)输入登录到服务器所需的信息,可以使用Windows NT集成安全机制,也可以使用指定的用户名和密码。(5)从所选服务器上,选择要连接的SQL Server数据库。若要测试所做的设置是否正确,请单击“测试连接”按钮。此时,将尝试连接到指定的SQL Server数据库。如果连接失
12、败,请确保设置是正确的。(6)单击“确定”按钮。第16页,共116页。12.1.4使用数据库表在Access 2002中,既可以创建一个Access项目并将其与现有SQL Server数据库连接,也可以创建一个SQL Server数据库并将其与Access项目连接。无论是哪一种情况,只要打开了Access数据库中使用表设计器一样。所不同的是,对于Access项目来说,表存储在SQL Server数据库中;对于Access数据库来说,表即存储在该数据库中。第17页,共116页。下面介绍通过Access项目在SQL Server数据库创建表的方法。步骤启动Access 2002,然后从“文件”选单
13、中选择“新建”命令。在“新建文件”窗格中,单击“项目(新数据)”。在“文件新建数据库”对话框中,单击“保存位置”框中的一个地址,并在“文件名”框中键入一个名称(例中为Students),然后单击“创建”按钮。当出现“Microsoft SQL Server数据库向导”对话框时,键入要使用的服务器的名称、在服务器上具有CREATE DATABASE权限的账户的登录ID和密码以及新SQL Server数据库的名称(例中为StudentsSQL),然后单击“下一步”按钮.第18页,共116页。在随后出现的对话框中,单击“完成”按钮,以完成StudentsSQL数据库的创建。在如图12.10所示的项目
14、窗口中,单击对象栏下方的“表”,然后执行下列操作之一:第19页,共116页。单击项目窗口工具栏上的“新建”按钮。在项目窗口中双击“使用设计器创建表”。此时出现如图12.11所示的表设计器窗口,该窗口与SQL Server 2000的表设计器基本相同。表设计器上部网格中的每一行对应表中的一列。 第20页,共116页。创建表时,需要对表中的每一列进行定义:在上部网格中指定列名称、选择数据类型并键入列说明文本,然后在窗口下部的“列”选项卡中对列的各种属性进行设置。按照要求,完成Students表结构的定义,并将student_id列设置为表的主键,然后单击工具栏中的“保存”按钮。当出现如图12.12
15、所示的“选择名称”对话框时,在“输入表名称”框中输入Students,然后单击“确定”按钮。第21页,共116页。按照要求,完成Courses表结构的定义。按照要求,完成Scores表结构的定义。完成数据库表结构定义后,若要向表中输入数据或查看表中的数据,请单击该表,然后单击项目窗口工具栏上的“打开”按钮;若要修改表结构,请单击项目窗口工具栏上的“设计”按钮;若要删除一个表,请在项目窗口中单击该表,然后单击项目窗口工具栏上的“删除”按钮。第22页,共116页。12.1.5使用图表为了使数据库可视化,可以创建一个或更多的关系图,以显示数据库中的部分或全部表、列、键和关系。对于任何数据库都可以创建
16、任意多个数据库关系图;每个数据库表可以出现在任意多个关系图上。在Access 2002中,可以使用图表设计器来创建数据库关系图,该关系图存储在SQL Server数据库中。例12.2 本例说明如何使用图表设计器来创建数据库关系图。在Students项目中通过stduent_id列在Scores表之间建立关系,通过course_id列在Scores表和Courses表之间建立关系。第23页,共116页。步骤(1)在Access 2002中打开项目Students.adp。在如图12.13所示的项目窗口中,单击对象栏下方的“数据库图表”,然后执行下列操作之一: 第24页,共116页。(2)单击项目
17、窗口工具栏上的“新建”按钮。在项目窗口中双击“使用设计器创建数据库图表”。(3)当出现如图12.14所示的“添加表”对话框时,按住Ctrl键依次单击要添加到数据库图表中的表,然后单击“添加”按钮,再单击“关闭”按钮。在本例中向图表中添加了三个表,即Students表、Courses表和Scores表。第25页,共116页。(4)表设计器窗口中,用鼠标将Students表的主键列student_id拖向Scores表的student_id列上,然后释放鼠标按键。(5)当出现如图12.15所示的“创建关系”对话框时,如果所建关系的各个选项的默认设置符合要求,直接单击“确定”按钮即可;也可以根据需要
18、更改这些设置,然后单击“确定”按钮。第26页,共116页。当在表之间建立关系以后,相应的表之间会出现一条关系线,如图12.16所示。图中线的终结点表示关系是一对一还是一对多:如果关系在一个终结点有一个键,在另一个终结点有一个字形,则是一对多关系;如果关系在每个终结点都有一个键,则是一对一关系。第27页,共116页。(6)重复步骤(4)和(5),通过course_id列在Scores表和courses表之间建立关系。(7)单击工具栏上的“保存”按钮,并在“另存为”对话框中指定图表名称,然后关闭数据库图表设计器窗口。创建数据库图表后,若要修改该图表的设置,请单击该图表,然后单击项目窗口工具栏上的“
19、设计”按钮;若要删除该图表,请单击该图表,然后单击项目窗口工具栏上的“删除”按钮。第28页,共116页。12.1.6使用查询项目中的查询对应于SQL Server数据库中的视图,这种数据库对象存储在SQL Server数据库中,可以使用与表相同的方式在SQL查询语句中引用。在Access 2002中,可以使用查询设计器来创建视图。例12.3 本例说明如何使用查询设计器创建视图对象。在项目文件Students.adp中创建一个名为“学生成绩”的视图,其结果集内的数据分别来自Students表、Courses表和Scores表,所显示的输出列包括Students表中的student_num列、st
20、udent_name列、Courses表中的course_name列以及Scores表中的score,要求按student_name列升序排列记录。第29页,共116页。步骤在Access 2002中打开项目文件Students.adp。在如图12.17所示的项目窗口中单击对象栏下方的“查询”,然后单击项目窗口工具栏上的“新建”按钮,或者在项目窗口中双击“使用设计器创建视图”,以打开查询设计器窗口。第30页,共116页。向视图中添加所需表。当出现“添加表”对话框时,将Students表、Courses表和Scores表添加视图中,然后关闭“添加表”对话框,并进入查询设计器窗口.向视图中添加所需
21、表列。在查询设计器窗口上部的“图表”窗格中,单击要输出的表列左侧的输出复选框,使这些列出现在下方的设计网格中。在本例中,通过视图输出的列包括Students表中的student_num列和student_name列、Courses表中的course_name列以及Scores表中的score列。指定输出列的别名。在设计网格中,分别在student_num,student_name,course_name和score列的“别名”框中键入中文名称,即“学号”、“姓名”、“课程名称”和“成绩”。 第31页,共116页。设置排序选项。在设计网格中,单击student_name列的“排序”单元格,然后选
22、择“升序”选项,如图12.19所示。第32页,共116页。单击工具栏上的“保存”按钮,并在“另存为”对话框中将视图名称指定为“学生成绩”,然后单击“确定”按钮。从“视图”选单中选择“数据表视图”命令,或者单击工具栏上的“视图”按钮,或者单击工具栏的“运行”按钮,以浏览视图的运行结果,如图12.20所示。第33页,共116页。若要查看视图中的SQL语句,单击工具栏的“SQL”按钮即可。此时将在SQL窗格中看到以下SELECT查询语句:SELECT TOP 100 PERCENT dbo.Students.student_num AS 学号,dbo.Students.student_num AS
23、姓名,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第34页,共116页。由于事先已经使用图表设计器分别在Students表和Scores表以及Courses表和Scores表之间建立了关系,故在上
24、述语句的FROM子句中自动出现了INNER JOIN运算符,通过内连接返回到在连接列中具有相等值的行。此外,在上述语句中还自动出现了TOP 100 PERCENT选项,如果不想使用该选项,可以单击工具栏上的“属性”按钮,然后在“属性”对话框的“视图”选项卡中清除“顶端”复选框。在Access项目中创建一个视图之后,若要在数据表视图中查看结果集的内容,请单击该视图,然后单击项目窗口工具栏上的“打开”按钮;若要在设计视图中修改该视图的定义,请单击该视图,然后单击项目窗口工具栏上的“设计”按钮;若从项目中要删除该视图,请单击该视图,然后单击项目窗口工具栏上的“删除”按钮。 第35页,共116页。 1
25、2.1.7 使用窗体通过Access项目中的窗体可以输入和显示数据,这种窗体存储在Access项目中,数据本身则存储在SQL Server数据库中。在Access 2002中,既可以在设计视图中创建窗体,也可以使用向导创建窗体。 例12.4 本例说明如何使用向导创建窗体。在项目文件Student.adp中创建一个名为“学生资料”的窗体,通过该窗体可以查看或修改Student表中的数据。第36页,共116页。步骤在Access 2002中打开项目文件Student.adp。启动窗体向导。在如图12.21所示的项目窗口中单击对象栏下方的“窗体”,然后双击“使用向导创建窗体”。第37页,共116页。
26、确定在窗体上使用哪些字段。当出现如图12.22所示的对话框时,首先从“表/查询”列表框中选择将要作用窗体数据源的表或视图,然后在“可用字段”列表框中依次双击所需要的每个字段,将它们添加到“选定的字段”列表框中。也可以从多个表或视图中选择字段。若要删除某个已经选定的字段,请在“选定的字段”列表框中双击该字段。第38页,共116页。在本例中,为窗体选择的字段均来自Student表,包括student_num,student_name,student_sex,birthdate,department,speciality,grade以及class字段。确定窗体上所需字段后,单击“下一步”按钮。确定窗
27、体布局。当出现如图12.23所示的“窗体向导”对话框时,为窗体选择一种适当的布局方式。 第39页,共116页。每当选择一种布局方式时,可以在该对话框的左半部分查看相应的布局效果。例如,若要使每个表列都显示在一个独立的行上,并且左边带有一个标签,请选择“纵栏式”选项;若要使每一行的所有表列都显示在一行,标签显示在窗体的顶端,请选择“表格”选项。 在本例中选择了“纵栏式”布局,单击“下一步”按钮。第40页,共116页。确定窗体样式。当出现如图12.24所示的“窗体向导”对话框时,选择窗体所用的样式,可供选择的样式有“Sumi画”、“国际”、“宣纸”、“工业”、“标准”、“沙岩”、“混合”、“石头”
28、、“蓝图”和“远征”。 在本例中选择了“标准”样式,然后单击“下一步”按钮。第41页,共116页。在如图12.25所示的“窗体向导”对话框中,将窗体的标题指定为“学生资料”,并选取“修改窗体设计”选项,然后单击“完成”按钮。第42页,共116页。在窗体设计器窗口中打开窗体之后,在窗体页眉区中添加一个标签,其文本内容为“学生资料”,并设置字体和字号;将每个文本框左侧的标签内容改为中文,例如将student_num改为“学号”,将student_name改为“姓名”,等等。经过修改后的窗体布局如图12.26所示。 第43页,共116页。从“视图”选单中选择“窗体视图”命令,或者单击工具栏上的“视图
29、”按钮,以查看窗体的运行效果,如图12.27所示。第44页,共116页。在“窗体”视图中查看学生资料的情形如图12.27所示,此时可以通过单击窗体底部的浏览按钮在不同学生记录之间移动。 在项目中创建一个窗体之后,若要在窗体视图中查看该窗体,请单击该窗体,然后单击项目窗口工具栏上的“打开”按钮;若要修改该窗体的布局,请单击该窗体,然后单击项目窗口工具栏上的“设计”按钮;若要删除该窗体,请单击该窗体,然后单击项目窗口工具栏上的“删除”按钮。第45页,共116页。12.1.8 使用报表使用Access项目中的报表可以对数据进行计算、分组、汇总和打印,报表存储在Access项目中,数据本身则存储在SQ
30、L Server数据库中。在Access 2002中,既可以使用报表设计器创建报表,也可以使用向导创建报表。例12.5 本例说明如何使用向导创建报表。在项目Student.adp中创建一个名为“学生资料”的报表,按照学号升序显示所有学生的部分信息,并要求按照班级分组显示。第46页,共116页。步骤在Access 2002中打开项目文件Student.adp。启动报表向导。在如图12.28所示的项目窗口中单击对象栏下方的“报表”,然后双击使用向导创建报表。第47页,共116页。确定报表上使用哪些字段。当出现如图12.29所示的“报表向导”对话框时,从“表/查询”列表框中选择“表:Students
31、”,然后在“可用字段”列表框中依次双击所需字段,将它们添加到“选定的字段”列表框中.在本例中选定student_num,student_name,student_sex,birthdate,department,speciality,grade以及class字段。然后单击“下一步”按钮。 第48页,共116页。确定分组级别。当出现如图12.30所示的“报表向导”对话框时,在左边的列表框中双击要作为分组依据的字段。在本例中选择class字段作为分组依据,然后单击“下一步”按钮 第49页,共116页。确定排序次序。当出现如图12.31所示的“报表向导”对话框时,确定明细信息使用的排序次序,最多可以
32、选择四个字段对记录排序,既可以是升序也可以是降序。单击“升序”按钮,则它变为“降序”,反之亦然。在本例中选择student_num字段作为排序依据,然后单击“下一步”按钮。 第50页,共116页。确定报表的布局方式和打印方向。在如图12.32所示的“报表向导”对话框中,为报表选择一种适当的布局方式,可供选择的布局方式有“递阶”、“块”、“分级显示1”、“分级显示2”、“左对齐1”以及“左对齐2”,每当选择一种布局方式时,都可以在对话框左边查看相应的布局效果;选择报表的打印方向,根据表中使用字段的多少可以选择“纵向”或者“横向”。在本例中,为报表选择的布局方式为“左对齐1”,打印方式为“纵向”,
33、并选定“调整字段宽度使所有字段都能显示在一页中”复选框,然后单击“下一步” 按扭第51页,共116页。确定报表所用样式。在如图12.33所示的“报表向导”对话框中,为报表选择一种样式,可供选择的样式有“大胆”、“正式”、“淡灰”、“紧凑”、“组织”和“随意”。在本例中为报表选择“组织”样式,然后单击“下一步”按钮。第52页,共116页。指定报表标题。在如图12.34所示的“报表向导”对话框中,为报表指定标题(本例中为“学生资料”)。并选择“修改报表设计”选项,然后单击“下一步”按钮。第53页,共116页。在报表设计器窗口中打开报表之后,将报表中所有标签中的字段名改为中文,例如将“student
34、_num”改为“学号”等,如图12.5所示。第54页,共116页。从“视图”选单中选择“打印预览”命令,或者单击工具栏上的“打印预览”按钮,以查看报表的布局效果。在项目中创建一个报表之后,若要在打印预览视图中查看该报表,请单击该报表,然后单击项目窗口工具栏上的“打印预览”按钮;若要修改该报表的布局,请单击该报表,然后单击项目窗口工具栏上的“设计”按钮;若要删除该报表,请单击该报表,然后单击项目窗口工具栏上的“删除”按钮。第55页,共116页。12.1.9通过项目管理SQL Server数据库通过Access项目中不仅可以管理存储在项目中的数据库对象(例如窗体和报表等),也可以管理存储在SQL
35、Server数据库中的数据库对象(例如表、视图和数据库图表等),还可以对SQL Server数据库本身进行管理。第56页,共116页。1.显示SQL Server服务器属性步骤在Access 2002中打开一个已与SQL Server建立连接的Access项目。在“视图”选单中选择“服务器属性”命令。此时出现如图12.37所示的“服务器属性”对话框,包含了以下信息:数据库产品(Microsoft SQL Server);数据库版本号(8.0即为SQL Server 2000版);数据库服务器的名称; Access项目连接到的当前SQL Server数据库的名称。第57页,共116页。注意当前S
36、QL Server数据库名称以及其文件格式(Access 2000或Access 2002)也显示在“项目”窗口的标题栏中,出现在Access项目文件名称的右侧。第58页,共116页。2.备份和还原数据库使用Access项目可以对SQL Server 2000数据库进行备份和还原。应该经常定期备份数据库,以保护在硬件故障或意外损失时数据的安全。利用创建数据时制作的备份,可以还原这些数据。若要备份并还原SQL Server 数据库,请使用SQL Server 企业管理器。下面介绍通过Access项目来备份SQL Server 数据库的方法。第59页,共116页。步骤打开一个连接到SQL Serv
37、er 2000的Access项目。选择“工具数据库实用工具备份SQL 数据库”命令。当出现如图12.38所示的“备份”对话框时,在“文件名”框中输入备份文件的名称(.dat),或使用Access输入的默认名称。第60页,共116页。单击“确定”按钮。需要注意的是,上述操作不备份Access项目(.adp),该项目文件独立于所连接的SQL Server 数据库。若要制作Access项目文件的备份,请使用Windows资源管理器,将该文件复制到安全的位置。若要还原数据库,必须断开所有用户与该数据库的连接,并关闭除“数据库”窗口外的所有窗口,然后执行以下操作。第61页,共116页。步骤打开一个连接到
38、SQL Server 2000的Access项目。选择“工具数据库实用工具还原SQL 数据库”命令,当出现如图12.39所示的对话框时,单击“是”按钮。第62页,共116页。当出现如图12.40所示的“恢复”对话框时,在“查找范围”框中选择一个地址,然后找到所需要数据库备份文件(.dat)。单击数据库备份文件,然后单击“确定”按钮。第63页,共116页。3.删除数据库下面介绍从Access项目中删除SQL Server 2000数据库的方法。步骤断开所有用户与该数据库的连接,并关闭除“数据库”窗口外的全部窗口。打开连接到SQL Server 2000的Access项目。选择“工具数据库实用工具
39、删除SQL 数据库”命令。单击“是”按钮,确认数据库删除操作。第64页,共116页。12.2使用Visual Basic开发SQL Server应用程序Visual Basic是目前流行的可视化开发工具之一,它以简单易用而著称,不仅可以用于开发各种类型的桌面应用程序,也可以用于开发数据库应用程序。下面介绍如何使用Visual Basic 6.0开发SQL Server应用程序,主要讲述通过数据控件、ADO数据控件以及数据环境访问SQL Server数据库的方法和步骤。第65页,共116页。12.21使用数据控件数据控件是Visual Basic的标准控件之一。在应用程序中,可以使用数据控件和各
40、种数据绑定控件来显示和更新数据库中的信息。使用数据控件时,不用编写代码就能够创建简单的数据库应用程序。如果将数据控件与Visual Basic代码结合起来,则可以为数据处理提供高级的编程控件,从而设计出功能完备的数据库应用程序。第66页,共116页。1.数据控件概述在Visual Basic中,使用数据控件能够将窗体与数据库连接起来,只需要编写少量代码甚至不用编写代码就能够完成下列任务。与本地数据库或远程数据库连接。基于SQL查询打开指定的数据库表或定义记录集。将数据字段传送到各种绑定控件,并在这些控件中显示或更新字段值。根据绑定控件中显示的数据变化来添加新记录或更新数据库。捕获访问数据时出现
41、的错误。关闭数据库。第67页,共116页。2.在窗体上添加数据控件用数据控件访问数据库时,首先要在工具箱中单击数据控件按钮,并在窗体上添加一个数据控件。数据控件的大小和位置都可以重新设置,不过,习惯上是把该控件放在窗体的底部,并使其宽度与窗体的ScaleWidth属性值相等。为此,请在属性窗口中把数据控件的Align属性设置为2,使数据控件大小将与窗体的尺寸同步变化,如图12.42所示。第68页,共116页。从图中可以看到,数据控件中间的空折区域中显示着Data1字样,这是数据控件的Caption属性所指定的文本。在运行时可以用该属性来显示当前记录号。第69页,共116页。3. 设置数据控件连
42、接的数据库使用数据控件时,首先指定要连接的数据类型,这可以通过在属性窗口中设置数据控件的Connect属性来实现。Connect属性的默认值是Access。如果要连接的不是Access数据库,而是其他类型的数据库,就必须对Connect属性进行设置,操作方法如下:在属性窗口中选定数据控件,然后单击Connect属性框并选择要连接的数据库类型。若要使用数据控件连接到指定的SQL Server数据库,则应当用手工方式在Connect属性框中输入以下字符串:ODBC;Driver=SQLserver;Server=ServerName;UID=UserID;PWD=Password; Databas
43、e=DatabaseName 第70页,共116页。在上述连接字符串中,ODBC表示通过ODBC驱动程序建立与数据库的连接;Server指定要连接的SQL Server服务器;UID和PWD分别指定SQL Server登录名和密码; Database指定要连接的SQL Server数据库。例如,设SQL Server实例运行在计算机ABC上,有一个用户ID为hegels,相应的密码为123456,若要连接的数据库为StudentSQL,则连接字符串内容应为:ODBC;Driver=SQLserver;Server=ABC;UID=hegels;PWD=123456; Database=Stud
44、entSQL第71页,共116页。4. 设置数据控件的记录来源设置要通过数据控件连接的SQL Server数据库之后,还需要设置该控件的RecordSource属性,以指定在数据绑定控件中显示的记录来源。数据控件的RecordSource属性的值是一个字符串表达式,其值可以是一个表名称,也可以是一个合法的SQL查询语句。一旦通过Connect属性指定要连接的SQL Server数据库文件,Visual Basic就会自动检索该数据库中的所有表和有效查询的名称,并将它们显示在RecordSource属性列表中第72页,共116页。5.使用数据绑定控件数据绑定控件是数据识别控件,通过它来访问数据库
45、中的信息。当一个控件被绑到数据控件时,Visual Basic将当前记录中的字段值应用于该控件,在该控件中显示数据,并允许进行修改。如果在绑定控件里改变了字段值,当移动到另一条记录时,所做的修改会自动地写入到数据库。在Visual Basic 6.0中,可用做绑定控件的标准控件包括复选框、图像控件、标签、图片框、文本框、列表框以及组合框等;可用做绑定控件ActiveX控件包括DBList,DBCombo,DataList,DataCombo,MSFlexGrid,DBGrid以及MaskedEdit等。第73页,共116页。在使用任何ActiveX控件之前,都需要从“工程”选单中选择“部件”命
46、令,然后在“部件”对话框中添加该控件。此外,还必须从“工程”选单中选择“引用”命令,然后在“引用”对话框中注册数据访问对象(DAO)库。下面介绍在应用程序中使用绑定控件的方法。第74页,共116页。步骤在窗体上添加数据控件,并设置与数据访问有关的一些基本属性,例如Connect和RecordSource属性等,以指定要访问的SQL Server数据。在同一窗体上添加绑定控件,并将其DataSource属性设置为数据控件的名称,从而将该控件绑定到数据库。将绑定控件的DataField属性设置为一个字段名称,从而将该控件绑定到当前记录的一个字段。第75页,共116页。注意设置DataSource属
47、性后,Visual Basic会自动检索所有可用字段并显示在DataField属性的下拉式列表框中,如果在设计时数据库不可用,则在数据值从数据库中发送给控件之前,需要在运行时用代码提供一个有效的字段名称。例如,若要将文本框Text1绑定到student_num字段上,可以通过下面的语句来实现:Text1. DataField=“student_num”对于个别字段也可以有多个绑定控件,但不必为表中的每个字段都提供一个绑定控件。数据控件和绑定控件并不一定要设为可视的。如果把数据访问的能力合并到设计的窗体中,便能够利用程序代码在后台进行数据处理。第76页,共116页。在程序运行时,数据控件、绑定控
48、件与数据库一起工作,以访问当前记录集内的数据。使用数据控件的箭头按钮可以在不同的记录之间移动,而用绑定控件则可以查看或编辑从每个字段里显示出来的数据。无论何时,只要单击数据控件的箭头按钮,Visual Basic就会自动地更新对记录集所做的任何改变。 第77页,共116页。6.用数据控件创建简单的数据库应用程序例12.6 本例演示如何使用数据控件和文本框创建一个数据库浏览程序。步骤在Visual Basic 6.0中创建一个标准EXE工程。在窗体上添加一个数据控件、五个文本框控件和五个标签控件,其中数据控件用于连接数据库,文本框控件用于显示字段值,标签控件用于提示字段标题。第78页,共116页
49、。按照表12.4中的数据对窗体和控件的属性进行设置。第79页,共116页。在代码窗口中,编写数据控件Data1的Reposition事件过程:当移动记录指针时触发数据控件的Reposition事件Private Sub Data1_Reposition() 因为记录集的AbsolutePosition属性总比记录号小1Data1.Caption“当前记录号:”Data1.Recordset.AbsolutePosition+1 End Sub在上述代码中,用到了记录集对象的AbsolutePosition属性,该属性用于返回记录集内记录的相对记录号,而且第一条记录的记录号为0。为了用数据控件的
50、Caption属性来显示当前记录号,应将数据控件Data1的RecordsetType属性设置为1(动态集)或2(快照型记录集)。按下F5键,运行程序。单击数据控件上的箭头按钮,可以在不同的记录之间移动,而且在数据控件中间显示出当前的记录号第80页,共116页。12.2.2添加ADO数据控件ADO数据控件使用ActiveX数据对象(ADO)来快速建立数据绑定控件与数据源之间的联系,使用该控件可以快速创建记录集并通过数据绑定控件将数据提供给用户。第81页,共116页。1.添加ADO数据控件步骤在“工程”选单中选择“部件”。在“部件”对话框的“控件”选项卡中,选择Microsoft ADO Dat
51、a Control 6.0(OLEDB)复选框。单击“确定”按钮,将ADO数据控件添加到Visual Basic的工具箱中,如图12.49所示。在工具箱中双击Adodc控件按钮,在窗体上添加一个ADO数据控件,如图12.50所示。第82页,共116页。2.设置ADO数据控件连接的数据库在窗体上添加ADO数据控件后,通过设置该控件的ConnectionString属性可以指定所要连接的SQL Server数据库,这种连接可以通过OLE DB提供程序或ODBC驱动程序来实现。OLE DB(Obejct Linking & Embedding Database)是一种基于COM访问数据的应用程序接口
52、,它支持可以使用OLE DB提供程序的任意数据源的访问。ODBC(Open Database Connectivity)是一种数据访问应用程序接口,它支持可以使用ODBC驱动程序的任意数据源的访问。ConnectionString属性值是一个字符串,给出建立数据库连接所需要的所有信息,因此也称为连接字符串。该字符串的主要内容包括访问数据所用的提供程序或驱动程序、服务器名称、用户标识和登录密码以及要连接的默认数据库等。第83页,共116页。若要通过OLE DB提供程序来访问SQL Server数据库,应按照以下语法格式来设置ADO数据控件的ConnectionString属性值:Adodc1.C
53、onnectionString=”PROVIDER=SQLOLEDB;DATA SOURCE=ServerName;”&_”UID=User;PWD=Password;DATABASE=DatabaseName” 若要通过ODBC驱动程序来访问SQL Server数据库,应按照以下语法格式来设置ADO数据控件的ConnectionString属性值:Adodc1.ConnectionString=”DRIVER=SQLServer;”&_”UID=UserID;PWD=Password;DATABASE=DatabaseName”第84页,共116页。3. 设置ADO数据控件的记录来源在设置A
54、DO数据控件所要连接的SQL Server数据库之后,还需要通过设置该控件的RecordSource属性来指定来源。步骤在属性窗口中选择ADO数据控件。单击RecordSource属性框右边的对话按钮。当出现如图12.51所示的“属性页”对话框时,从“命令类型”列表框中选择所需命令类型:若要通过执行一个SQL语句来生成记录集,请选择“1adCmdText”。若要从一个数据库表中检索数据库,请选择“2adCmdTable”。若要通过执行一个存储过程来生成记录集,请选择“4adCmdStoredPro 第85页,共116页。根据步骤(3)完成的操作不同,执行下列操作之一:若在步骤(3)中选择的命令
55、类型为2或4,请在“表或存储过程名称”框中选择所需的表名称或存储过程名称。若在步骤(3)中选择的命令类型为1,请在“命令文本(SQL)”框中输入一个SQL查询语句。单击“确定”按钮,完成RecordSource属性的设置。第86页,共116页。4.设置ADO数据控件的其他属性除了设置ConnectionString和RecordSource属性之外,使用ADO数据控件时经常需要设置以下属性。ConnectionTimeout属性:设置在中止前等待打开连接的时间量(单位为秒)。CursorLocation属性:指定所使用的游标引擎,其取值为2adUseServer(服务器端游标)或3adUseC
56、lient(客户端游标)。CursorType属性:设置用于下一级记录集的游标类型,其取值为1adOpenKeyset(键集游标)、2adOpenDynamic(动态游标)或3adOpenStatic (静态游标)。第87页,共116页。5.使用ADO数据控件开发数据库应用程序下面给出通过ADO数据控件访问数据库的例子。例12.8 使用ADO数据控件和列表框控件设计一个数据库应用程序,其功能是根据学号查询成绩。在Visual Basic 6.0中创建一个标准EXE工程。在工具箱中添加ADO数据控件,为此应在“部件”对话框的“控件”选项卡中选择Microsoft DataGrid Control
57、 6.0(OLEDB)。在窗体上添加ADO数据控件Adodc1.第88页,共116页。在窗体上添加其他控件,包括标签Label1和Label2、文本框Text1、命令按钮Command1、线段Line1以及列表框List1。按照表12.6中的数据设置窗体和控件的属性,设计好的窗体布局如图12.52所示。第89页,共116页。在窗体上双击命令按钮Command1,然后在代码窗口中编写该控件的Click事件过程,程序代码如下:Private Sub Command1_Click()Const REC_SRC=”SELECT Students.student_num AS 学号,”&_ “Stude
58、nts.student_name AS 课程,”&_ “Scores.score AS成绩”&_ “FROM Courses INNER JOIN “&_ “Scores ON Courses.course_id=Scores.course_id INNER JOIN “&_ “Students ON Scores.student_id=Students.student_id “Dim sNum As String,Ssql as string,sfldname as string,sfldvalue as stringSnum=text1.text 从文本框中取得输入的学号并存入变量snum
59、If snum=” then Msgbox “请指定学号!”,vbokonly+vbinformation,”学生成绩查询系统” Exit subElse第90页,共116页。动态生成查询语句 ssql=rec_src & ”where student_num=” & “ “ & snum & “ “ end if adodc1.recordsource=ssql 动态设置ADO数据控件的记录来源adodc1.refresh 打开或重新打开数据库内容recordset表示通过ADO数据控件打开的记录集,EOF属性为真表明记录为空if adodc1.recordset.EOF thenmsgbo
60、x “查无此人。请核实后重新输入!”,vbokonly+vbinformation,”学生成绩查询系统”exit subend if Label2.Caption=adodc1.recordset.fields(“姓名”)“同学的成绩如下:”List1.Clear 清空列表框Sfldname=adodc1.recordset.fields(2).name & vbtab & vbtab & vbtab &_第91页,共116页。 Adodc1.recordset.fields(3).nameList1.additem sfldname 将字段名添加到列表框List1.additem “Whil
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 移动医疗健康应用软件授权使用协议
- 物业管理装修协议书
- 产品市场推广策略与操作手册编制
- 设备分期付款销售合同
- 初中生心理健康故事
- 国际物流与运输合同
- 知识产权转让协议签署细节说明
- 物流行业个性化配送优化方案
- 初中生职业规划课程心得
- 模具产品开发合作合同协议书
- 医院实习生岗前培训课件
- 照明灯具统计表
- 杭州市居住房屋出租安全管理若干规定
- 2022年江西工业贸易职业技术学院职业适应性测试题库及答案解析
- 给水排水管道工程质量通病以及防治
- 计算机视觉全套课件
- 中国联通IMS接口规范 第三分册:Sh接口 V1.0
- protel完全教程(原理图部分)
- 迎泽公园文化广场歌词汇集
- 环境化学物的毒性作用及其影响因素
- Q∕GDW 12176-2021 反窃电监测终端技术规范
评论
0/150
提交评论