425130011001010101101000101001011第10章数据库应用系统开发实例425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer知识导航数据库系统开发需求分析概念设计逻辑设计物理设计应用开发系统维护数据库系统概念数据模型关系模型关系规范化SQLServer概述数据库管理数据表管理索引和视图管理数据查询T-SQL存储过程和触发器系统开发实例安全管理425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer学习目标了解:–VisualBasic的数据访问技术。掌握:–ADO数据控件访问SQLServer数据库;–ADO对象访问SQLServer数据库;–使用VB结合SQLServer开发数据库应用系统。425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer数据库应用系统开发实例10.1VisualBasic的数据访问方法10.2数据库系统开发实例425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法任务描述:VisualBasic简单易学,容易上手而被广泛接受,本任务将讲述VisualBasic的数据访问方法。任务目标:掌握ADO数据控件和ADO对象访问SQLServer数据库。425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法10.1.1VisualBasic的数据访问技术–VisualBasic作为MicrosoftVisualStudio的成员之一,Microsoft公司为其提供了与SQLServer通信的各种API函数及对象库,提供了更好的功能和性能,因此它越来越多地用作大型数据库和客户/服务器应用程序的前端开发工具,VB与后台的SQLServer相结合,能够提供一种高性能的客户/服务器方案。425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法1.数据访问接口–在VisualBasic中,可用的数据访问接口主要三种:数据访问对象(DAO)、远程数据对象(RDO)和ActiveX数据对象(ADO)。•1)数据访问对象(DataAccessObjects,DAO)是第一个面向对象的接口,它是MicrosoftJet数据库引擎(由MicrosoftAccess所使用),并允许VisualBasic开发者通过ODBC如直接连接到其他数据库一样,直接连接到Access表。DAO最适用于单系统应用程序或小范围本地分布使用。•2)远程数据对象(RemoteDataObjects,RDO)是一个到ODBC的面向对象的数据访问接口,它同易于使用的DAO组合在一起,提供了一个接口,形式上展示出所有ODBC的底层功能和灵活性。•3)ADO是DAO/RDO的后继产物,在功能上与RDO更相似。ADO“扩展”了DAO和RDO所使用的对象模型,包含较少的对象、更多的属性、方法(和参数)以及事件。425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法2.记录集(Recordset)–记录集是一种处理数据库信息的工具,用户根据需要,通过使用记录集对象选择数据。Recordset对象表示的是来自基本表或命令执行结果的记录全集。任何时候,Recordset对象所指的当前记录均为集合内的单个记录。可以使用Recordset对象操作提供的数据。使用ADO时,通过Recordset对象可对几乎所有数据进行操作。所有Recordset对象均使用记录(行)和字段(列)进行构造。3.数据库源(DataSource)–数据源是一种易于访问的对象,它向所有数据使用者(任何可以和外部数据源绑定的类和控件)提供数据。在VisualBasic中,数据源包括内部的Data控件、RemoteData控件和新的ADO控件,它们允许创建丰富的应用程序以便查看和编辑数据。在实际的应用中,通过数据访问接口既可以以可视化数据访问控件的形式(如Data控件、ADO控件等)建立数据库的记录集,并完成数据库信息操作;也可以以代码编程的方式(ADO对象模型)建立数据库的记录集,并实现数据信息的访问。425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法10.1.2使用ADO控件和ADO对象访问数据库1.ADO控件–ADO控件是ActiveX的外部控件,是通过MicrosoftActive数据对象(ADO)快速建立数据源连接的数据绑定控件。因此,使用ADO控件之前必须将其添加到工具箱中,添加ADO控件的步骤如下:•1)在菜单栏中单击“工程”→“部件”命令,弹出“部件”对话框。•2)在“部件”对话框中选择MicrosoftADODataControl6.0(OLEDB),单击“确定”按钮,将ADO控件添加到工具箱中。425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法(1)常用属性–1)ConnectionString属性。用来指定与数据库建立连接,其中包括的主要参数有Provider(指定连接提供者的名称)和DataSoure(指定包含预先设置连接信息的特定提供者的文件名称)。–2)RecordSource属性。用来指定具体可访问的数据,可以是数据库中的单个表名、一个存储查询或一个SQL查询字符串。–3)CommandType属性。指定Command对象的类型,在ADO中定义四种不同的命令类型(2)常用方法–Refresh方法用来刷新对象,更改ADO控件的数据源属性后,重新创建其Recordset对象。425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法2.ADO对象模型–在VisualBasic中使用ADO对象,首先要将ADO对象加入到工程中的“引用”对话框,其方法是在菜单栏中单击“工程”→“引用”命令,在弹出的“引用”对话框中添加MicrosoftActiveXDataObjects2.5Library。–ADO是一个对象模型,由7个对象和4个集合组成。利用ADO访问数据库,首先要创建一个Connection对象,建立和数据库的连接,然后利用Recordset对象或Command对象为需要操作的数据建立记录集,最后就可以利用Recordset对象的属性、方法和事件来操作数据。425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法(1)Connection对象–在VisualBasic应用程序中主要使用这个对象建立与数据库的连接,使用方法如下:DimADOcnAsConnection'声明对象SetADOcn=NewConnection'创建新对象ADOcn.Open连接字符串‘建立数据库连接–还有可以利用Connection对象对数据库中的表进行增加、删除、修改等不返回结果集的操作,语法如下:ADOcn.ExecuteSQL语句字符串425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法(2)Recordset对象记录集对象是数据表的查询结果,通过可使用它进行Select语句的操作,基本的使用方法如下:DimADOrsAsNewRecordset'声明一个新的Recordset对象ADOrs.ActiveConnection=ADOcn'与ADO链接对象建立关联strSQL=select*fromstudent'拼写SQL语句ADOrs.OpenstrSQL'执行SQL语句ADOrs.Close'关闭记录集对象425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法(3)Field对象当使用打开记录集后,就可以使用Field对象访问其中的数据了,方法如下:Text1.Text=ADOrs.Fields(S_ID)'在TextBox控件显示或者DimstrNoAsStringstrNo=ADOrs.Fields(S_ID)'读取到变量中425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法(4)Command对象–Command对象的用途很广,通常用于那些不需要返回结果集的SQL语句操作,如Insert、Update和Delete。如前面学习过的ADOcn.Execute语句,就可以用Command对象替代。DimADOcmdAsNewCommand'声明一个新的Commad对象ADOcmd.ActiveConnection=ADOcn'与ADO链接对象建立关联ADOcmd.CommandType=adCmdText'设置Commad对象的源类型ADOcmd.CommandText=InsertIntocoursevalues('A001','英语',5)'设置Commad对象的源ADOcmd.Execute'执行Commad对象425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法3.Recordset对象–(1)常用属性•1)AbsolutePosition属性。用来指定记录集中当前记录号,从0开始,当AbsolutePosition属性值为0时,当前记录为表中的第一条记录。•2)RecordCount属性。用来指定记录集中记录的个数。•3)Eof属性和Bof属性。Eof属性用于测试记录集中的记录指针是否指到了末记录之后,Bof属性用于测试记录集中的记录指针是否指到了末记录之前。–(2)常用方法•1)MoveFirst方法:将记录指针移到第一条记录。例如执行语句“Adodc1.RecordSet.MoveFirst”后,将记录指针移到第一条记录。•2)MoveLast方法:将记录指针移到最后一条记录。•3)MoveNext方法:将记录指针向后移动一条记录。•4)MovePrevious方法:将记录指针向前移动一条记录。•5)AddNew方法:增加一条新记录,作为表文件的最后一条记录。•6)Delete方法:删除当前记录。•7)Update方法:更新记录内容。425130011001010101101000101001011数据库基础与项目实训教程-基于SQLServer10.1VisualBasic的数据访问方法4.DataGrid控件–DataGrid控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列表示Recordset对象的记录和字段。当在设计时设置了DataGrid控件的DataSource属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。然后就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。–在使用DataGrid控件前,在菜单栏中选择“工程”→“部件”命令,在弹出的对话框中勾选Micros