VB数据库ADO对象模型详解.ppt
《VB数据库ADO对象模型详解.ppt》由会员分享,可在线阅读,更多相关《VB数据库ADO对象模型详解.ppt(163页珍藏版)》请在三一办公上搜索。
1、,1 ADO对象模型 ADO(ActiveX Data Object)活动数据访问接口是Microsoft处理数据库信息的最新技术。采用OLE DB的数据访问模式,是数据访问对象DAO、远程数据对象RDO和开放数据库互连ODBC三种方式的扩展。OLE对象链接使能,具有链接和嵌入对象的功能。ADO对象模型定义了一个可编程的分层对象集合,主要由三个对象成员Connection、Command和Recordset对象,以及几个集合对象Errors、Parameters和Fields等所组成。,6.5 ADO数据控件,6.5 ADO数据控件,图6.13 ADO对象模型,6.5 ADO数据控件,6.5
2、ADO数据控件,2 使用ADO数据控件使用ADO数据控件,必须先通过工程|部件菜单命令选项。,6.5 ADO数据控件,选择Microsoft ADO Data Control 6.0(OLEDB),将ADO数据控件添加到工具箱,在窗体中使用ADO数据控件的方式与Data控件相似,使用ADO数据控件的基本属性,可以快速地创建与数据库的连接。,在程序中使用ADO对象,必须先为当前工程引用ADO的对象库。引用方式是执行工程菜单的引用命令,启动引用对话框,在清单中选取MicrosoftActiveX Data Objects 2.0 Library选项。,6.5 ADO数据控件,进入,1)ADO数据控
3、件的基本属性ConnectionString属性ADO控件没有DatabaseName属性,它使用ConnectionString属性与数据库建立连接。该属性包含了用于与数据源建立连接的相关信息。,6.5 ADO数据控件,6.5 ADO数据控件,RecordSource属性该属性确定可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中单个表名、一个存储查询或者是使用SQL查询语言的查询字符串。,ConnectionTimeout属性用于数据连接的超时设置,若在指定时间内连接不成功显示超时信息。MaxRecords属性定义从一个查询中最多能返回的记录数。,6.5 ADO
4、数据控件,2)ADO数据控件的方法和事件ADO数据控件的方法和事件与Data控件的方法和事件完全一样。3)设置ADO数据控件的属性下面通过使用ADO数据控件连接Student.mdb数据库来说明ADO数据控件属性的设置。,6.5 ADO数据控件,步骤1:在窗体上放置ADO数据控件,控件名采用默认名Adodcl。,6.5 ADO数据控件,步骤2:在ADO控件按鼠标右键,选择ADO属性时,弹出属性页对话框。,6.5 ADO数据控件,允许通过三种不同的方式连接数据源,表示通过一个连接文件来完成,使用ODBC数据资源名称 可以通过下拉式列表框,选择某个创建好的数据源名称(DSN),作为数据来源对远程数
5、据库进行控制,通过选项设置自动产生连接字符串,步骤3:采用使用连接字符串方式连接数据源。,6.5 ADO数据控件,单击生成按钮,打开数据链接属性对话框,步骤3:采用使用连接字符串方式连接数据源。,6.5 ADO数据控件,在提供程序选项内选择一个合适的OLE DB数据源,Student.mdb是Access数据库,选择Microsoft Jet 3.51 OLE DB Provider选项。,单击下步按钮,步骤3:采用使用连接字符串方式连接数据源。,6.5 ADO数据控件,在连接选项内,指定数据库文件,Student.mdb,为保证连接有效,可单击连接选项卡右下方的测试连接按钮,如果测试成功则关
6、闭数据链接属性页,步骤4:在记录源属性页对话框。,6.5 ADO数据控件,在命令类型下拉列表框中选择2adCmdTable选项,在表或存储过程名称下拉式列表框中选择Student.mdb数据库中的基本情况表,完成ADO数据控件的连接工作。,进入,3 ADO数据控件上新增绑定控件的使用和ADO数据控件的绑定控件属性主要包括:DataSource,DataField,DataMember,DataFormatDataSource和DataField的连接功能增强了;DataMember属性允许处理多个数据集,从数据供应程序提供的几个数据成员中返回或设置一个特定的数据成员;DataFormat属性用
7、于指定数据内容的显示格式。,6.5 ADO数据控件,6.5 ADO数据控件,例6.6 使用ADO数据控件和DataGrid数据网格控件浏览数据库Student.mdb,并使之具有编辑功能。下图为具有增、删、改功能的数据网格绑定。,6.5 ADO数据控件,标有号的记录行表示允许增加新记录,进入,DataGrid控件使用方法:需通过工程|部件菜单命令选择DataGrid控件,,6.5 ADO数据控件,将DataGrid控件添加到工具箱,DataGrid控件使用方法:将DataGrid控件放置到窗体上。设置DataGrid网格控件的DataSource属性为Adodc1,实现DataGrid1绑定到
8、数据控件Adodc1。,6.5 ADO数据控件,DataGrid控件允许用户同时浏览或修改多个记录的数据。,6.5 ADO数据控件,AllowAddNew(增)AllowDelete(删)AllowUpdate(改),修改功能通过DataGrid属 性设置实现,可以设置的 属性为:,进入,添加DataGrid网格上显示的字段,可用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择检索字段选项。Visual Basic提示是否替换现有的网格布局,单击是按钮就可将表中的字段装载到DataGrid控件中。,6.5 ADO数据控件,用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择编辑选
9、项,进入数据网格字段布局的编辑状态,此时,当鼠标指在字段名上时,鼠标指针变成黑色向下箭头。,6.5 ADO数据控件,在该窗体点击鼠标右键,选择属性选项,可修改字段标题或字段的显示宽度。,进入,必须使用ADO数据控件进行绑定的控件:,6.5 ADO数据控件,DataList控件 DataSource,DataFiled RowSource,ListFiled,必须使用ADO数据控件进行绑定的控件:,6.5 ADO数据控件,DataCombo控件 DataSource,DataFiled RowSource,ListFiled,必须使用ADO数据控件进行绑定的控件:,6.5 ADO数据控件,Dat
10、aReport控件,在“工程”菜单上,单击“添加 Data Enviroment”向工程中添加设计器。如果设计器没有在工程菜单上列出,则单击部件。单击设计器选项卡。并单击数据环境把设计器添加到菜单上。,6.5 ADO数据控件,DataReport控件,点击鼠标右键,出现菜单,选择属性,出现数据链接属性对话框,选择Microsoft Jet 3.51 OLE DB Provider,这是为访问 Jet 数据库选择正确的 OLE DB 提供商,单击下一步,6.5 ADO数据控件,DataReport控件,指定数据库,测试连接,6.5 ADO数据控件,DataReport控件,点击鼠标右键,出现菜单
11、,选择添加子命令,出现Command属性页,选择表,选择基本情况表,6.5 ADO数据控件,DataReport控件,选择表,点击关联,选择学生成绩表,点击鼠标右键,出现菜单,选择添加子命令,出现Command属性页,6.5 ADO数据控件,DataReport控件,父命令来自Command1,两个表通过学号相关联,6.5 ADO数据控件,DataReport控件,在“工程”菜单上,单击“添加 Data Report”如果不在“工程”菜单上,先选择工程,部件,设计器。添加Data Report。,6.5 ADO数据控件,DataReport工作区,资源管理器列表,DataPeport需要绑定两
12、个属性,6.5 ADO数据控件,点击鼠标右键,选择插入文本框,点击鼠标右键,选择插入标签,标签CAPTION=学生成绩表,点击鼠标右键,选择插入标签,文本框两个属性绑定设置,6.5 ADO数据控件,DataReport控件,在窗体中添加一个Command控件,并填写代码如下:Private Sub Command1_Click()DataReport1.Show End Sub点击Command控件则可显示报表,DataReport1.Show,进入,必须使用ADO数据控件进行绑定的控件:,6.5 ADO数据控件,MSChart控件 DataSource,进入,基本情况表,SQL中使用SELE
13、CT语句实现查询。Data控件的RecordSource属性可以是数据表名;RecordSource属性可以是数据表中的某些行或多个数据表中的数据组合。直接在Data控件的RecordSource属性栏中输入SQL,或在代码中通过SQL语句将选择的记录集赋给数据控件的RecordSource属性。,6.6 VB中的SQL实现,6.6 VB中SQL的实现,例6.8 使用SQL语句实现查找功能,显示某专业的学生记录。使用SQL语句查询,命令按钮Command5_Click事件代码如下:,6.6 VB中的SQL实现,进入,6.6 VB中的SQL实现,Private Sub Command5_Clic
14、k()Dim mzy As String mzy=InputBox$(请输入专业,查找窗)Data1.RecordSource=Select*From 基本_情况 Where 专业=&mzy&Data1.Refresh If Data1.Recordset.EOF Then MsgBox 无此专业!,提示 Data1.RecordSource=基本情况 Data1.Refresh End IfEnd Sub,短语指定数据来源;Where 专业=&mzy&短语构成查询条件,用于过滤表中的记录,对于未查找到记录情况的处理,激活RecordSource的变化,6.6 VB中的SQL实现,Privat
15、e Sub Command5_Click()Dim mzy As String mzy=InputBox$(请输入专业,查找窗)Data1.RecordSource=Select*From 基本_情况 Where 专业=&mzy&Data1.Refresh If Data1.Recordset.EOF Then MsgBox 无此专业!,提示 Data1.RecordSource=基本情况 Data1.Refresh End IfEnd Sub,如果使用模糊查询语句可改写如上,专业 like*&mzy&*,进入,例6.9 用SQL语句从Student.mdb数据库的两个数据表中选择数据构成记录
16、集,并通过数据控件浏览记录集。,6.6 VB中的SQL实现,进入,Data控件的属性设置DatabaseName属性:Student.mdb,RecordSource属性:空缺各文本框的属性DataSource=Data1,DataField属性分别设置为学号、姓名、课程、成绩,而照片字段绑定图形框。本例要求从两个实表中选择字段构成虚表。从基本情况中选择学生的学号、姓名、照片,从学生成绩表中选择该学生的课程和成绩来构成记录集。,6.6 VB中的SQL实现,实现方法:在Form_ Load事件中使用SQL语句,6.6 VB中的SQL实现,Private Sub Form_Load()Data1.
17、RecordSource=Select 基本情况.学号,基本情况.姓名,基本情况.照片,学生成绩表.课程,学生成绩表.成绩 From 学生成绩表,基本情况 Where 学生成绩表.学号=基本情况.学号End Sub,进入,例6.10 用SQL指令按专业统计Student.mdb数据库中各专业的人数,并统计平均成绩前5名的学生,要求按下图所示形式输出。,6.6 VB中的SQL实现,进入,窗体中的控件为Data控件和网格控件MSFlexGrid1。Data1的DatabaseName属性:Student.mdb;RecordSource属性:空缺网格控件的DataSource:Data1。分组查询
18、:为了统计各专业的人数,对基本情况表内的记录按专业分组。使用Group By专业语句,将同一专业的所有记录合为一组新记录。命名别名:要记录统计结果,需要构造一个新的输出字段,使用SQL的统计函数Count()作为输出字段,它按专业分组创建统计值。由于在表中没有表示该内容的字段名,可用As短语命名一个别名,6.6 VB中的SQL实现,按专业统计人数按钮的指令代码为:,6.6 VB中的SQL实现,Private Sub Command1_Click()Data1.RecordSource=Select 专业,Count(*)As 人数 From 基本情况 Group By 专业 Data1.Ref
19、reshEnd Sub,如需要 按平均成绩统计前5名 按钮指令代码为:,6.6 VB中的SQL实现,Private Sub Command2_Click()Data1.RecordSource=Select Top 5 学号,Avg(成绩)As 平均成绩 From 学生成绩表 Group By 学号 Order By Avg(成绩)Desc Data1.RefreshEnd Sub,Avg(成绩)计算该学生的平均成绩,Order By Avg(成绩)Desc按平均成绩的降序排列数据,Group By 学号将同一学生的各门课程的记录合并成一条记录,Top 5短语返回最前面的5条记录,恢复原表内容
20、按钮的指令代码为:,6.6 VB中的SQL实现,Private Sub Command3_Click()Data1.RecordSource=基本情况 Data1.RefreshEnd Sub,进入,例6.11使用ADO数据控件,用SQL语句从Student.mdb数据库的两个数据表中选择数据构成记录集。,6.6 VB中的SQL实现,进入,使用ADO数据控件Adodc1;各文本框的Datasource=Adodc1,DataField属性分别设置为学号、姓名、课程、成绩,而字段照片绑定图形框。ADO数据控件的数据源采用连接字符串的方式连接;属性设置为与数据源连接的相关信息,数据链接属性设置与S
21、tudent.mdb的数据连接。,6.6 VB中的SQL实现,记录源设置如下,6.6 VB中的SQL实现,select 学生成绩表.*,基本情况.姓名,基本情况.照片 from 学生成绩表,基本情况 where 学生成绩表.学号=基本情况.学号,进入,例6.12 设计一个窗体,计算Student.mdb数据库内学生成绩表中每个学生的平均成绩,产生姓名、平均成绩和最低成绩三项数据,按平均成绩降序排列数据,并用该数据作图。,6.6 VB中的SQL实现,进入,绘制图表使用MsChart。MsChart控件需要通过工程|部件命令,将MSChart控件添加到工具箱。MSChart1的DataSource
22、绑定:Adodc1将Adodcl的RecordSource属性设置为SQL语句:,6.6 VB中的SQL实现,Select 基本情况.姓名,Avg(成绩)As 平均成绩,Min(成绩)As 最低成绩 From 学生成绩表,基本情况 Where 学生成绩表.学号=基本情况.学号 Group By 姓名 Order By Avg(成绩)Desc,学生成绩表中没有平均成绩和最低成绩这两项数据,在SELECT子句中使用统计函数Avg()和Min()产生;学生成绩表中没有姓名字段,故需要多表查询,通过条件基本情况.学号=学生成绩表.学号从基本情况表获取。Group By 姓名可将同一学生的记录合并成一条
23、新记录。,6.6 VB中的SQL实现,在CS结构中用ODBC与数据库连接和数据操作。例6.13 使用ADO数据控件和ODBC 技术,设计一个简单窗体,显示Student.mdb数据库的基本情况表。,6.7 VB中使用ODBC,6.7 VB中使用ODBC,进入,步骤1:在窗体上放置ADO数据控件,控件名采用默认名Adodcl。,6.5 ADO数据控件,步骤2:在ADO控件按鼠标右键,选择ADO属性时,弹出属性页对话框。,6.5 ADO数据控件,使用ODBC数据资源名称 可以通过下拉式列表框,选择某个创建好的数据源名称(DSN),作为数据来源对远程数据库进行控制,步骤3:在创建新数据源对话框,选择
24、数据源,6.5 ADO数据控件,只有创建者能访问的数据库文件,登录该机器的任何用户都能访问的数据库文件,所有用户均可以访问的数据库文件,数据源名就是系统知道的数据库文件名。数据源名只要生成一次,此后任何应用程序都可以使用。如果系统中没有数据源名,则需生成新的数据源名,步骤4:在创建新数据源对话框,选择驱动器,6.5 ADO数据控件,选择Microsoft Access Driver,步骤5:在属性页对话框,选择使用ODBC数据资源名称,6.5 ADO数据控件,使用ODBC数据资源名称 可以通过下拉式列表框,选择某个创建好的数据源名称(DSN),作为数据来源对远程数据库进行控制,6.7 VB中使
25、用ODBC,步骤6:单击“完成”按钮,生成数据源。指定的Access数据库赋予新建的数据源。出现在ODBC Microsoft Access 安装窗口中,操作步骤如下:,设置数据源名为Student1,指定一个Access数据库Student.mdb赋予新建的数据源Student1,步骤6:展开下拉清单,并选择student1数据源。,6.7 VB中使用ODBC,student1数据源已经注册到系统上,不必再次生成。它会自动出现在ADO数据控件属性页的使用ODBC数据资源名称下拉清单中,进入,例6.14 ADO数据控件使用自己的高级约束数据控件,即DataList和DataCombo控件。,6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 数据库 ADO 对象 模型 详解

链接地址:https://www.31ppt.com/p-6522660.html