




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第15章 ADO数据控件与 数据绑定控件 1 ADO数据控件是使用ADO数据对象来 快速建立数据绑定控件和数据提供者之间 的连接,并快速创建记录集,然后将数据 通过数据绑定控件显示给用户。 数据绑定控件是任何具有“数据源 ”属性的控件。 2 15.1 ADO数据控件 ADO数据控件是目前流行的、比较新 的数据访问控件,它支持OLE DB数据访问 模型。使用ADO数据控件可以访问几乎各 种类型的数据源。 ADO数据控件用于指定连接的数据源 和要访问的数据,对所获得数据的显示要 靠数据绑定控件实现。 3 添加ADO数据控件的方法为: 1)“工程” “部件” ,打开部件对话框 。 2)在“控件”标签页上,选中“Microsoft ADO Data Control(OLE DB)”复选框。 3)单击“确定”关闭对话框。此时“工具箱 ”中会出现ADO数据控件的图标。 ADO数据控件 4 在Adodc上有四个按钮,其功能分别为: 结果记录集中的当前行指针移到第一行。 结果记录集中的当前行指针向前移动一行。 结果记录集中的当前行指针向后移动一行。 结果记录集中的当前行指针移到最后一行。 5 一、ADO数据控件的主要属性、方法和事件 1、ADO数据控件的主要属性 ConnectionString属性 此属性用于建立与数据源的连接。它 是一 个字符串,其中所包含的参数与使用的数 据访 问接口有关。 6 SQL 图15-5 “数据链接属性”对话框 7 图15-6 连接到Access数据库 8 图15-7 链接到SQL Server数据库 9 CommandType属性 此属性指明命令的类型,即要访问的数据 的 来源。一般这个属性和RecordSource属性配合 使 用。CommandType属性的取值有如下四个: adCmdUnknown:默认值。表示RecordSource中 的命令类型未知。 adCmdTable:RecordSource属性的内容是一个 表名。 adCmdText:RecordSource属性的内容是一个 查询语句文本串。 adCmdStoredProc:RecordSource属性的内容 是一个存储过程名。 10 RecordSource属性 此属性用于设置ADO结果集的内容,内容可 来自一张表,一个查询语句,或一个存储过程 的 执行结果。 adCmdUnknown 或adCmdText 可用 11 MaxRecords属性 MaxRecords属性决定了结果集中的记 录的最大数目。 Recordset属性 该属性是ADO数据控件中实现数据记 录 操作最重要的属性,用于存放从数据提供 者那获得的查询结果。而且这个属性本身 又是一个对象,也有自己的属性的方法, 它直接指向ADO对象模型中的Recordset对 象。 12 2、ADO数据控件的主要方法 Refresh方法用于更新ADO数据控件属性 , 使修改后的ADO数据控件属性生效。当修改了 ADO数据控件的ConnectionString属性的值时 , 使用Refresh方法会重新连接一次数据库;当 修 改了ADO数据控件的RecordSource属性的值时 , 使用Refresh方法会重新执行RecordSource属 性 的内容,重新产生结果集。使用Refresh方法 的 格式为: ADO数据控件名.Refresh 13 3、ADO数据控件的主要事件 比较常用的事件: EndOfRecordset事件 Error事件 WillChangeField事件和 FieldChangeComplete事件 WillChangeRecord事件和 RecordChangeComplete事件 WillMove事件和MoveComplete事件 14 二、RecordSet对象主要属性和方法 1、Recordset对象的主要属性 BOF EOF RecordCount Sort AbsolutePosition ActiveCommand ActiveConnection Bookmark Fields 15 Fields属性本身也是一个对象,它直接指 向 ADO对象模型中的Fields对象。 Fields对象属性信息: Fields.Name:字段名称。 Fields.Value:字段的值。 Fields.OrdinalPosition:字段在Fields集 合中的顺序。 Fields.Type:字段的数据类型。 Fields.Size:字段的最大字节数。 Fields.SourceTable:字段来自的表 Fields.SourceField:字段来自的表中的列 16 2、RecordSet对象的主要方法 (1)Move方法组 MoveFirst MovePrevious MoveNext MoveLast (2)AddNew方法 用于在结果集中添加一个新记录 17 (3)Update方法 Update方法将新记录缓冲区中的记录或 者 对当前记录的修改真正写到数据库中,使新 添 加的记录或修改后的结果被永久保存在数据 库 中。 (4)Delete方法 Delete方法删除结果集中当前行记录指 针 所指的记录,并且这个删除是直接对数据库 数 据操作的,删除后的数据不可恢复。 18 (5)CancelUpdate方法 该方法取消新添加的记录或对当前记 录 所做的修改。注意:此方法应在调用 Update 方法之前调用,调用了Update之后的修改 是 不能撤销的。 另外需要注意的是,如果没有添加新 记 录,也没有对当前记录进行任何修改,则 调 用CancelUpdate方法将产出错误。 19 (6)Find方法 Find方法用于在当前结果集中查找满足 添加的记录。Find方法的格式为: ADO数据控件名.Recordset. Find(“查找条件表达式“) “查找条件表达式”中可以包含比较运算 符、逻辑运算符和Like查找符。 例如:查找计算机系的学生: Find(“Sdept = 计算机系 “) 20 15.2 数据绑定控件 数据绑定实际上就是将结果集中的数 据同应用程序界面中的控件联系起来,通 过这些界面上的控件将结果集中的数据显 示给用户,而且用户还可以通过这些控件 实现对数据库数据的增、删、改操作。 21 在VB预定义的标准控件中,只有那些具有 DataSource属性的控件才是数据绑定控件。 常用的有:TextBox、CheckBox、ListBox、 ComboBox等。 外部绑定控件:主要有:DataCombo、 DataList、DataGrid、MSHFGrid、Microsoft Chart等。 数据绑定控件主要通过以下两个属性来 实 现数据绑定: DataSource:指定要绑定的数据源 DataField:指定控件要显示的结果集中的字 段 22 一、DataGrid控件 DataGrid以表格的形式显示结果集中的 全 部数据,并允许用户在此控件中浏览、添加 、 删除和修改记录。 DataGrid控件需要手工添加到VB工具箱 中,添加的方法是: “工程” “部件” 选择“Microsoft DataGrid Control 6(OLE DB)” 23 1、DataGrid控件的主要属 性 AllowAddNew AllowDelete AllowUpdate ColumnHeaders Enabled 24 控制控件的浏览属性 25 26 指定每个列的数据类型 27 2、DataGrid控件的特殊属性、方法和事 件 DataGrid控件还有一些特殊的属性和 事 件,用来实现对显示的数据进行排序、隐 藏 某列以及修改Recordset数据。 (1)使用HeadClick事件对列进行排序 可以设置Recordset对象的Sort属性 , 然后使用DataGrid的Refresh方法,用排 序 后的顺序重新显示结果集数据。 28 下面的代码实现按用户在DataGrid表格 中 单击的列标题进行降序排序,并显示排序后 的 结果。 Private Sub DtgStudent_HeadClick(ByVal ColIndex As Integer) With Adodc1.Recordset .Sort = .Fields(ColIndex).Name & “ DESC“ End With DtgStudent.Refresh End Sub 29 (2)在运行模式下改变显示的列 隐藏列的最简单的方法是设置列的 Visible 属性为False。 30 Private Sub CmdSomeColumns_Click() 隐藏Ssex和Sage列 With DtgStudent .Columns(2).Visible = False .Columns(3).Visible = False End With CmdSomeColumns.Enabled = False CmdAllColumns.Enabled = True End Sub 31 Private Sub CmdAllColumns_Click() 显示全部列 Dim intCol As Integer With DtgStudent For intCol = 0 To .Columns.Count - 1 .Columns(intCol).Visible = True Next End With CmdSomeColumns.Enabled = True CmdAllColumns.Enabled = False End Sub 32 (3)用DataGrid事件确认更新 DataGrid控件的事件: 事件触发时刻 BeforeColEdit 移入新单元后,但在单元中敲入第一个字符之前 ColEdit 在单元中敲入第一字符后 AfterColEdit 紧随AfterColUpdate事件之后 BeforeColUpdate 改变单元值或移入一个新单元之后,但在DataGrid 缓冲区内容改变之前 AfterColUpdate 在为更新的列修改缓冲区之后(同AfterColEdit) BeforeDelete 在选中一行并按Delete键之后,但在列从Recordset 中删除之前 AfterDelete 从Recordset删除一行之后 BeforeInsert 在临时加入的记录组成的列中敲入至少一个字符之 后,但在行被加入到Recordset之前 AfterInsert 在行加入到Recordset之后 BeforeUpdate 在修改任何列的值或移动一个新记录之后,但在 Recordset更新之前 AfterUpdate 在更新Recordset的行之后 33 二、DataList和DataCombo控件 DataList和DataCombo控件在功能上与 ListBox与ComboBox很类似,但它们可以直接从 ADO结果集中获取信息,而不用通过AddItem命 令语句来添加信息。 DataList和DataCombo控件需要手工添加到 VB工具箱中,添加的方法是: “工程” “部件” 选择“Microsoft DataList Control 6.0(OLE DB)” 34 DataList控件的主要属性: 属性 描述 DataSource 连接有外码的子表数据源 BoundColumn 指定DataSource和RowSouce数 据源中有关联关系的字段名称 RowSource 连接外码对应的主表数据源 DataField 指定与RowSource数据源中有 关联关系的字段名称 ListField 指定在DataList列表中显示的 字段 35 一般来说,DataSource连接的是有外码的 子 表数据源,比如SC表;而RowSource连接的是外 码 所对应的主码所在的主表数据源,比如Student 表。 DataField属性指明与RowSouce数据源中有 关 联关系的字段名称,BoundColumn属性指明 RowSource数据源中哪个列作为两个表的关联列 (通常情况下,这个列都是RowRource数据源中 的 主码)。 如果没有主码、外码关联关系,则只设置 RowSource和ListField属性的值即可,其他属 性 的值均可不设。 36 37 对象名 属性名 属性值 AdoSC ConnectionString 连接到SQL Server上的“ 学生管理数据库” CommandType adCmdTable RecordSource SC AdoStudent ConnectionString 连接到SQL Server上的“ 学生管理数据库” CommandType adCmdTable RecordSourceStudent DataGrid1 DataSource AdoSC DataList1 DataSource AdoSC RowSource AdoStudent DataField Sno ListField Sname BoundColumn Sno 38 39 15.3 ADO对象 Connection Command Recordset Errors Parameters Fields Error Parameter Field ADO是一个数据访问接口,是建筑在OLE DB 之上的高层接口集,介于OLE DB底层接口和应 用程序之间的接口。利用ADO对象模型也可以实 现数据库的全部操作。 40 一、Connection-数据库连接对象 Connection对象用于指定数据源,在对数 据 库进行操作之前,必须先创建该对象。 属性功能 ConnectionStrin g 使用方法和含义同ADO数据 控件 DefaultDatabase 定义该对 象的缺省数据库 Provide连接中使用的OLE DB提供 者 state当前状态,只读。 Connection对象属性列表 41 方法功能 BeginTrans开始一个事务 RollbackTrans回滚一个事务 Cancel终止当前的数据库操作 Close关闭Connection对象 Excute执行SQL语言或者查询 Open打开Connection对象 Connection对象方法列表 42 二、Command-命令对象 该对象代表对数据源执行的命令,使用该 命 令可以查询数据,并将查询结果返回给 Recordset 对象。 属性功能 ActiveConnectio n 指定当前使用的连接 CommandText命令的文本表达(SQL语句、 表名) CommandType指定要执行的命令类型 stateCommand对象运行状态 Command对象属性列表 43 方法功能 Cancel放弃操作 CreateParameter 创建一个与命令相关的新
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国电信业务行业市场发展现状及竞争格局与投资前景研究报告
- 2025-2030年中国生物理性产品行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国环保智能制造行业市场发展现状及竞争格局与投资前景研究报告
- 2025-2030年中国狗美容用品行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国牙种植螺钉行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国溶解臭氧监测仪行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国游戏机行业市场现状供需分析及投资评估规划分析研究报告
- 地貌整形施工方案
- 风管防火施工方案
- 2025至2030年中国精炼棉籽油市场分析及竞争策略研究报告
- GB∕T 17466.1-2019 家用和类似用途固定式电气装置的电器附件安装盒和外壳 第1部分:通用要求
- 钻探设备工具材料共12
- 得到上市招股书:北京思维造物信息科技股份有限公司
- 机动车检测站授权签字人内部培训考题(含答案)
- 2022年浙江省小升初语文试卷(含答案)
- Q∕GDW 12158-2021 国家电网有限公司重大活动电力安全保障工作规范
- 我把没有送给你(课堂版)(1)
- 刘半农雨散文的特点
- 南靖和溪各姓氏源流
- 智能PID算法在液位控制系统中的应用毕业论
- 肾病及生活质量KDQOL-SF
评论
0/150
提交评论