1.ADO对象模型ADO(ActiveXDataObject)活动数据访问接口是Microsoft处理数据库信息的最新技术。采用OLEDB的数据访问模式,是数据访问对象DAO、远程数据对象RDO和开放数据库互连ODBC三种方式的扩展。OLE对象链接使能,具有链接和嵌入对象的功能。ADO对象模型定义了一个可编程的分层对象集合,主要由三个对象成员Connection、Command和Recordset对象,以及几个集合对象Errors、Parameters和Fields等所组成。6.5ADO数据控件6.5ADO数据控件图6.13ADO对象模型6.5ADO数据控件Connection对象Errors集合Error对象Command对象Parameters集合Parameter对象Recordset对象Fields集合Field对象6.5ADO数据控件表6.6ADO对象描述对象名描述Connection指定连接数据来源Command发出命令信息从数据源获取所需数据Recordset由一组记录组成的记录集Error访问数据源时所返回的错误信息Parameter与命令对象有关的参数Field记录集中某个字段的信息2.使用ADO数据控件使用ADO数据控件,必须先通过工程|部件菜单命令选项。6.5ADO数据控件选择MicrosoftADODataControl6.0(OLEDB)将ADO数据控件添加到工具箱在窗体中使用ADO数据控件的方式与Data控件相似,使用ADO数据控件的基本属性,可以快速地创建与数据库的连接。在程序中使用ADO对象,必须先为当前工程引用ADO的对象库。引用方式是执行工程菜单的引用命令,启动引用对话框,在清单中选取MicrosoftActiveXDataObjects2.0Library选项。6.5ADO数据控件进入1)ADO数据控件的基本属性ConnectionString属性ADO控件没有DatabaseName属性,它使用ConnectionString属性与数据库建立连接。该属性包含了用于与数据源建立连接的相关信息。指定打开客户端连接时使用的服务器路径名称,仅限于RemoteDataServiceRemoteServer指定打开客户端连接时使用的提供者名称。(仅限于RemoteDataService)RemoteProvider指定数据源所对应的文件名FileName指定数据源的名称Provide描述参数ConnectionString属性参数6.5ADO数据控件6.5ADO数据控件默认值。CommandText属性中的命令类型未知adCmdUnknown将CommandText作为存储过程名进行计算AdCmdStoredProc将CommandText作为其列,全部由内部生成的SQL查询返回的表格的名称进行计算AdCmdTable将CommandText作为命令或存储过程调用的文本化定义进行计算AdCmdText说明Command类型RecordSource属性该属性确定可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中单个表名、一个存储查询或者是使用SQL查询语言的查询字符串。ConnectionTimeout属性用于数据连接的超时设置,若在指定时间内连接不成功显示超时信息。MaxRecords属性定义从一个查询中最多能返回的记录数。6.5ADO数据控件2)ADO数据控件的方法和事件ADO数据控件的方法和事件与Data控件的方法和事件完全一样。3)设置ADO数据控件的属性下面通过使用ADO数据控件连接Student.mdb数据库来说明ADO数据控件属性的设置。6.5ADO数据控件步骤1:在窗体上放置ADO数据控件,控件名采用默认名Adodcl。6.5ADO数据控件步骤2:在ADO控件按鼠标右键,选择ADO属性时,弹出属性页对话框。6.5ADO数据控件允许通过三种不同的方式连接数据源表示通过一个连接文件来完成使用ODBC数据资源名称可以通过下拉式列表框,选择某个创建好的数据源名称(DSN),作为数据来源对远程数据库进行控制通过选项设置自动产生连接字符串步骤3:采用使用连接字符串方式连接数据源。6.5ADO数据控件单击生成按钮,打开数据链接属性对话框步骤3:采用使用连接字符串方式连接数据源。6.5ADO数据控件在提供程序选项内选择一个合适的OLEDB数据源,Student.mdb是Access数据库,选择MicrosoftJet3.51OLEDBProvider选项。单击下—步按钮步骤3:采用使用连接字符串方式连接数据源。6.5ADO数据控件在连接选项内,指定数据库文件,Student.mdb为保证连接有效,可单击连接选项卡右下方的测试连接按钮,如果测试成功则关闭数据链接属性页步骤4:在记录源属性页对话框。6.5ADO数据控件在命令类型下拉列表框中选择2adCmdTable选项在表或存储过程名称下拉式列表框中选择Student.mdb数据库中的基本情况表完成ADO数据控件的连接工作。进入3.ADO数据控件上新增绑定控件的使用和ADO数据控件的绑定控件属性主要包括:DataSource,DataField,DataMember,DataFormatDataSource和DataField的连接功能增强了;DataMember属性允许处理多个数据集,从数据供应程序提供的几个数据成员中返回或设置一个特定的数据成员;DataFormat属性用于指定数据内容的显示格式。6.5ADO数据控件6.5ADO数据控件属性描述DataSourceDataList,DataCombo所绑定数据控件的名称DataList由DataSource属性所指定的记录集中的一个字段名称。这个字段将用于决定在列表中高亮显示哪一个元素。如果作出了新的选择,则它就是当移动到一个新记录时所需更新的字段。RowSource将用于填充列表的数据控件的名称。BoundColumn由RowSource属性所指定的记录集中的一个字段名称。这个字段必须和将用于更新该列表的DataField的类型相同。ListField由将用于填充该列表的RowSource所指定的记录集中的一个字段名称。例6.6使用ADO数据控件和DataGrid数据网格控件浏览数据库Student.mdb,并使之具有编辑功能。下图为具有增、删、改功能的数据网格绑定。6.5ADO数据控件标有号的记录行表示允许增加新记录进入DataGrid控件使用方法:需通过工程|部件菜单命令选择DataGrid控件,6.5ADO数据控件将DataGrid控件添加到工具箱DataGrid控件使用方法:将DataGrid控件放置到窗体上。设置DataGrid网格控件的DataSource属性为Adodc1,实现DataGrid1绑定到数据控件Adodc1。6.5ADO数据控件DataGrid控件允许用户同时浏览或修改多个记录的数据。6.5ADO数据控件AllowAddNew(增)AllowDelete(删)AllowUpdate(改)修改功能通过DataGrid属性设置实现,可以设置的属性为:进入添加DataGrid网格上显示的字段,可用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择检索字段选项。VisualBasic提示是否替换现有的网格布局,单击是按钮就可将表中的字段装载到DataGrid控件中。6.5ADO数据控件用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择编辑选项,进入数据网格字段布局的编辑状态,此时,当鼠标指在字段名上时,鼠标指针变成黑色向下箭头。6.5ADO数据控件在该窗体点击鼠标右键,选择属性选项可修改字段标题或字段的显示宽度。进入必须使用ADO数据控件进行绑定的控件:6.5ADO数据控件DataList控件DataSource,DataFiledRowSource,ListFiled必须使用ADO数据控件进行绑定的控件:6.5ADO数据控件DataCombo控件DataSource,DataFiledRowSource,ListFiled必须使用ADO数据控件进行绑定的控件:6.5ADO数据控件DataReport控件在“工程”菜单上,单击“添加DataEnviroment”向工程中添加设计器。如果设计器没有在工程菜单上列出,则单击部件。单击设计器选项卡。并单击数据环境把设计器添加到菜单上。6.5ADO数据控件DataReport控件点击鼠标右键,出现菜单,选择属性,出现数据链接属性对话框选择MicrosoftJet3.51OLEDBProvider,这是为访问Jet数据库选择正确的OLEDB提供商单击下一步6.5ADO数据控件DataReport控件指定数据库测试连接6.5ADO数据控件DataReport控件点击鼠标右键,出现菜单,选择添加子命令,出现Command属性页选择表选择基本情况表6.5ADO数据控件DataReport控件选择表点击关联选择学生成绩表点击鼠标右键,出现菜单,选择添加子命令,出现Command属性页6.5ADO数据控件DataReport控件父命令来自Command1两个表通过学号相关联6.5ADO数据控件DataReport控件在“工程”菜单上,单击“添加DataReport”如果不在“工程”菜单上,先选择工程,部件,设计器。添加DataReport。6.5ADO数据控件DataReport工作区资源管理器列表DataPeport需要绑定两个属性6.5ADO数据控件点击鼠标右键,选择插入文本框点击鼠标右键,选择插入标签,标签CAPTION=学生成绩表点击鼠标右键,选择插入标签文本框两个属性绑定设置6.5ADO数据控件DataReport控件在窗体中添加一个Command控件,并填写代码如下:PrivateSubCommand1_Click()DataReport1.ShowEndSub点击Command控件则可显示报表DataReport1.Show进入必须使用ADO数据控件进行绑定的控件:6.5ADO数据控件MSChart控件DataSource进入基本情况表SQL中使用SELECT语句实现查询。Data控件的RecordSource属性可以是数据表名;RecordSource属性可以是数据表中的某些行或多个数据表中的数据组合。直接在Data控件的RecordSource属性栏中输入SQL,或在代码中通过SQL语句将选择的记录集赋给数据控件的RecordSource属性。6.6VB中的SQL实现6.6VB中SQL的实现例6.8使用SQL语句实现查找功能,显示某专业的学生记录。使用SQL语句查询,命令按钮Command5_Click事件代码如下:6.6VB中的SQL实现进入6.6VB中的SQL实现PrivateSubCommand5_Click()DimmzyAsStringmzy=InputBox$(请输入专业,查找窗)Data1.RecordSource=Select*From基本_情况Where专业='&mzy&'Data1.RefreshIfData1.Recordset.EOFThenMsgBox无此专业!,,提示Data1.RecordSource=基本情况Data1.RefreshEndIfEndSub短语指定数据来源;Where专业='&mzy&'短语构成查询条件,用于过滤表中的记录对于未查找到记录情况的处理激活RecordSource的变化6.6VB中的SQL实现PrivateSubCommand5_Click()DimmzyAsStringmzy=InputBox$(请输入专业,查找窗)Data1.RecordSource=Select*From基本_情况Where专业='&mzy&'Data1.RefreshIfData1.Recordset.EOFThenMsgBox无此专业!