第11章VB与数据_第1页
第11章VB与数据_第2页
第11章VB与数据_第3页
第11章VB与数据_第4页
第11章VB与数据_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第第1111章章vb vb 与与数据库数据库 10.1 10.1 数据库概述数据库概述10.2 10.2 使用使用数据库管理工具数据库管理工具 10.3 Data10.3 Data控件控件 10.4 DbGrid10.4 DbGrid控件控件10.5 ADO Data10.5 ADO Data控件控件10.6 10.6 结构查询语言结构查询语言210.1 10.1 数据库概述数据库概述数据库数据库 以一定的组织方式将相关的数据组织在以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器,能为多个用户一起,存放在计算机外存储器,能为多个用户共享,与应用程序彼此独立的一组数据的集合。共享,

2、与应用程序彼此独立的一组数据的集合。 Visual Basic支持多种类型的数据库,如支持多种类型的数据库,如Access数据库、数据库、FoxPro数据库、数据库、Microsoft Excel、SQL Server和和Oracle等。等。3数据访问对象模型1.AvtiveX数据对象 (ADO)2.远程数据对象(RDo)3.数据访问对象(DAO)410.1.110.1.1关系型数据库 关系型数据库模型将数据用表的集合来表示。关系型数据库模型将数据用表的集合来表示。通过建立简单表之间的关系来定义结构,而不是通过建立简单表之间的关系来定义结构,而不是根据数据的物理存储方式建立数据中的关系。不根据

3、数据的物理存储方式建立数据中的关系。不管表在数据库文件中的物理存储方式如何,都可管表在数据库文件中的物理存储方式如何,都可以把它看作一组行和列。以把它看作一组行和列。数据库表5关系型数据库关系型数据库 表是有关信息的逻辑组,行被称为记录,列则被称表是有关信息的逻辑组,行被称为记录,列则被称为字段。为字段。主键主键记录记录字段字段6使用使用SQL查询数据库查询数据库结构化查询语言结构化查询语言(Structure Query Language,SQLSQL)是操作关系数据库的标准语言。通过是操作关系数据库的标准语言。通过SQL命令,可以从数据库的多个表中获取数据,也可命令,可以从数据库的多个表中

4、获取数据,也可对数据进行更新操作。对数据进行更新操作。SQL的主要语句:的主要语句:语语 句句.分类分类描描 述述SELECT数据查询数据查询查找满足特定条件的记录查找满足特定条件的记录DELETE数据操作数据操作从数据表中删除记录从数据表中删除记录INSERT数据操作数据操作向表中插入一条记录向表中插入一条记录UPDATE数据操作数据操作用来改变特定记录和字段的值用来改变特定记录和字段的值7SELECTSELECT语句语句 SELECT语句的基本语法形式语句的基本语法形式 SELECT SELECT 目标表达式列表目标表达式列表 FROM FROM 表名表名 WHERE WHERE 查询条件

5、查询条件 GROUP BY GROUP BY 分组字段分组字段 HAVING HAVING 分组条件分组条件 ORDER BY ORDER BY 排序关键字段排序关键字段 ASC|DESCASC|DESC 它包含它包含4部分,其中部分,其中SELECT和和FROM子句是必须的,通子句是必须的,通过使用过使用SELECT语句返回一个记录集。语句返回一个记录集。 例例 在学生基本情况表中查询物理系的学生情况:在学生基本情况表中查询物理系的学生情况:SELECT SELECT * * FROM FROM 基本情况基本情况 WHEREWHERE专业专业= = 物理物理 本章目录本章目录8SELECTS

6、ELECT语句语句- -输出表达式输出表达式目标表达式为查询结果要显示的字段清单目标表达式为查询结果要显示的字段清单(字段字段间用逗号分开间用逗号分开)。数据的显示顺序由字段清单的。数据的显示顺序由字段清单的顺序决定。顺序决定。 可用星号可用星号*代表所有字段;代表所有字段; 可用可用AS短语指定字段别名;短语指定字段别名; 可通过构造表达式对原始数据进行复杂的运算可通过构造表达式对原始数据进行复杂的运算处理,产生查询结果。处理,产生查询结果。例如,例如,根据出生年月计算每个学生的年龄根据出生年月计算每个学生的年龄SELECT 姓名姓名, (Year(Date()-Year(出生年月出生年月)

7、 AS 年龄年龄 FROM 基本情况基本情况 本章目录本章目录9SELECTSELECT语句语句- -查询条件查询条件WHEREWHERE子句用于限制记录的选择子句用于限制记录的选择例如例如,查询,查询1985-01-01到到1986-12-31之间出生的学生:之间出生的学生:SELECT * FROM 基本情况基本情况 WHERE 出生年月出生年月 BETWEEN #1985-01-01# AND #1986-12-31#要枚举出若干项进行查询,使用运算符要枚举出若干项进行查询,使用运算符IN例如例如,查询物理系和数学系的学生数据:,查询物理系和数学系的学生数据:SELECT * FROM

8、基本情况基本情况 WHERE 专业专业 IN (物理物理, 数学数学) 等价于:等价于:SELECT * FROM 基本情况基本情况 WHERE专业专业= 物理物理 OR 专业专业 = 数学数学 10SELECTSELECT语句语句- -合计函数合计函数合计函数用于对记录集进行统计合计函数用于对记录集进行统计返回指定字段中的最小值返回指定字段中的最小值MINMIN返回指定字段中的最大值返回指定字段中的最大值MAXMAX返回特定字段中所有值的总和返回特定字段中所有值的总和SUMSUM返回选定记录的个数返回选定记录的个数COUNTCOUNT获得特定字段中的值的平均数获得特定字段中的值的平均数AVG

9、AVG描描 述述合计函数合计函数例如,统计物理系学生的人数:例如,统计物理系学生的人数:SELECT COUNT(*) AS 学生人数学生人数 FROM 基本情况基本情况 WHERE专业专业= “物理物理”COUNT(COUNT(* *) ) 在统计时包含值为空值的记录在统计时包含值为空值的记录COUNT(COUNT(表达式表达式) ) 统计时忽略表达式值为空值的记录统计时忽略表达式值为空值的记录本章目录本章目录11SELECTSELECT语句语句- -分组分组GROUP BY子句将指定字段列表中有相同值的子句将指定字段列表中有相同值的记录合并成一条记录。记录合并成一条记录。例如,例如,计算每

10、个学生各门课程平均分:计算每个学生各门课程平均分:SELECT 学号学号, AVG(成绩成绩) AS 平均分平均分FROM 成绩表成绩表 GROUP BY 学号学号要对分组后的数据进行过滤,可在要对分组后的数据进行过滤,可在GROUP BY子句后结合子句后结合HAVING子句在分组中选择。子句在分组中选择。例如,例如,查询平均分在查询平均分在8080分以上的学生:分以上的学生:SELECT 学号学号, AVG(成绩成绩) AS 平均分平均分FROM 成绩表成绩表 GROUP BY 学号学号HAVING AVG(成绩成绩)=80 本章目录本章目录12SELECTSELECT语句语句- -排序排序

11、ORDER BY子句决定了查询结果的排列顺序子句决定了查询结果的排列顺序在在ORDER BY子句中,可以指定一个或多个字子句中,可以指定一个或多个字段作为排序关键字,段作为排序关键字,ASC选项代表升序,选项代表升序,DESC代表降序。代表降序。SELECT 专业专业, count(*) AS 学生人数学生人数FROM 基本情况表基本情况表 GROUP BY 专业专业ORDER BY 学生人数学生人数 DESC本章目录本章目录13SELECTSELECT语句图解语句图解本章目录本章目录14SELECTSELECT语句语句- -多表连接多表连接若查询的数据分布在多个表中,则必须建立连接若查询的数

12、据分布在多个表中,则必须建立连接查询:查询:SELECT目标表达式列表目标表达式列表 FROM 表表1, 表表2 WHERE 表表1.字段字段 = 表表2.字段字段例如例如:学生成绩表中只有学号,如何在查看学生学生成绩表中只有学号,如何在查看学生成绩的同时能够直观地看到学生姓名?这就要在成绩的同时能够直观地看到学生姓名?这就要在两表之间建立连接。两表之间建立连接。SQL语句如下:语句如下:SELECT基本情况基本情况.姓名姓名, 成绩表成绩表.* FROM 基本情基本情况况, 成绩表成绩表 WHERE成绩表成绩表.学号学号=基本情况基本情况.学号学号 本章目录本章目录1510.2 VB数据库访

13、问数据库访问 10.2.1 ADOADO数据控件使用基础数据控件使用基础 数据库应用程序引例数据库应用程序引例例例10.1 设计一个窗体,用设计一个窗体,用DataGrid控件显示控件显示Stud.mdb数据库中数据库中“基本情况基本情况”表的内容。表的内容。 本章目录本章目录16ADO数据控件使用数据控件使用 VB采用采用ADO(ActiveX Data Objects)数据访问数据访问技术,编写本程序,需要完成以下工作:技术,编写本程序,需要完成以下工作:v 在窗体上添加在窗体上添加ADOADO数据控件数据控件v 使用使用ADOADO连接对象建立与数据提供者之间的连接连接对象建立与数据提供

14、者之间的连接v 使用使用ADOADO命令对象操作数据源,从数据源中产生命令对象操作数据源,从数据源中产生记录集并存放在内存中记录集并存放在内存中1.1. 建立记录集与数据绑定控件的关联,在窗体上建立记录集与数据绑定控件的关联,在窗体上显示数据。显示数据。本章目录本章目录17数据源连接设置操作数据源连接设置操作 右单击右单击ADO控控件,选择快捷件,选择快捷菜单菜单ADODC属性属性命令,打命令,打开开ADO控件属控件属性页窗性页窗本章目录本章目录18选择提供程序选择提供程序选择提供程序选择提供程序 本章目录本章目录19指定访问的数据库指定访问的数据库指定要访问的指定要访问的数据库文件数据库文件

15、 本章目录本章目录20 数据访问过程数据访问过程 v 应用程序通过连接对象与数据源建立连接应用程序通过连接对象与数据源建立连接( (不不同类型的数据库使用各自的连接提供程序同类型的数据库使用各自的连接提供程序) )v 命令对象发出命令对象发出SQL命令从数据源中获取数据命令从数据源中获取数据v 数据集对象用来保存所查询到的数据记录数据集对象用来保存所查询到的数据记录v 应用程序对记录集进行操作应用程序对记录集进行操作v 记录集表示内存中来自基本表或命令执行结记录集表示内存中来自基本表或命令执行结果的集合,也由记录果的集合,也由记录( (行行) )和字段和字段( (列列) )构成,可构成,可以把

16、它当作一个数据表来进行操作以把它当作一个数据表来进行操作 本章目录本章目录2122连接对象重要属性连接对象重要属性连接对象最重要的属性是连接对象最重要的属性是ConnectionString,它是,它是一个字符串,包含了用于与数据源建立连接的相一个字符串,包含了用于与数据源建立连接的相关信息。典型的关信息。典型的 ConnectionString 属性值如下:属性值如下:Provider = Microsoft.Jet.OLEDB.4.0; Provider = Microsoft.Jet.OLEDB.4.0; Data Source = Stud.mdbData Source = Stud.

17、mdbProvide,指定连接提供程序的名称;,指定连接提供程序的名称;Data Source,用于指定要连接的数据源文件。,用于指定要连接的数据源文件。本章目录本章目录2310.5 ADO Data10.5 ADO Data控件属性控件属性1.Align 把控件摆放到窗体的特定位置把控件摆放到窗体的特定位置Visual BasicAlignNone 可以用鼠标拖动可以用鼠标拖动到任何位置。到任何位置。Visual BasicAlignTop 窗口顶端窗口顶端Visual BasicAlignBottom 窗口底部窗口底部Visual BasicAlignLeft 窗口最左窗口最左Visual

18、 BasicAlignRignt窗口最右窗口最右242.EOFAction和和BOFAction属性:属性: 当记录指针指向记录集的开始或结束时,以当记录指针指向记录集的开始或结束时,以上属性决定数据控件要采取上属性决定数据控件要采取 的操作,当的操作,当EOFAction为为2时,记录指针到达记录集的结时,记录指针到达记录集的结尾处,在尾部自动加入一条空记录。尾处,在尾部自动加入一条空记录。nBOF和和EOF的属性的属性nBOF判定记录指针是否在首记录之前,判定记录指针是否在首记录之前,EOF判判定记录指针是否在末记录之后。定记录指针是否在末记录之后。n如果如果BOF和和EOF的属性值都为的

19、属性值都为True,则记录集,则记录集为空。为空。ADO Data控件属性控件属性253.ConnectionStringn连接对象最重要的属性是连接对象最重要的属性是ConnectionString,它是一个字符串,包含了用于与数据源建立连它是一个字符串,包含了用于与数据源建立连接的相关信息。典型的接的相关信息。典型的 ConnectionString 属属性值如下:性值如下:nProvider = Microsoft.Jet.OLEDB.4.0; Data Source = Stud.mdbnProvide,指定连接提供程序的名称;,指定连接提供程序的名称;nData Source,用于指

20、定要连接的数据源文件,用于指定要连接的数据源文件264.recordSource:确定具体可以访问的:确定具体可以访问的数据来源。属性值可以是数据库中的单数据来源。属性值可以是数据库中的单个表名,也可以是个表名,也可以是SQL语句。语句。5. CommandType属性:指定获得记录属性:指定获得记录源的命令类型。源的命令类型。值分别为:值分别为:1,2,4,82adCmdTable8-adCmdUnknown276. UserName属性属性 指定用户的名称,当数据库收到密码保护指定用户的名称,当数据库收到密码保护是,要指定该属性。是,要指定该属性。7.PassWord 指定密码指定密码8.

21、Connectiontimeout 设置建立连接时设置建立连接时间,若超时,返回一个错误。间,若超时,返回一个错误。28Recordset 记录集对象记录集对象是一种操作数据库的工具。记录集对象是一种操作数据库的工具。数据库内的表格不允许直接访问,只能通数据库内的表格不允许直接访问,只能通过记录集对象过记录集对象Recordset进行浏览和操进行浏览和操作。作。记录集对象不仅可以处理数据,而且能报记录集对象不仅可以处理数据,而且能报告处理结果,对记录集的更改最后会被告处理结果,对记录集的更改最后会被传送到原始表。传送到原始表。29ADO控件的方法:控件的方法:记录集中数据的增、删、改涉及到记录

22、集中数据的增、删、改涉及到4 4个方法:个方法: 1. UpdateControls 更新绑定控件的内容。更新绑定控件的内容。2.AddNew2.AddNew方法方法 在记录集中增加入一个新行在记录集中增加入一个新行3.Delete3.Delete方法方法 删除记录集中的当前记录删除记录集中的当前记录4.Update4.Update方法方法 确定修改并保存到数据源中确定修改并保存到数据源中5.CancelUpdate5.CancelUpdate方法方法 取消未调用取消未调用Update方法前对记录所做的所有修改方法前对记录所做的所有修改 30增加新记录增加新记录 2增加新记录增加新记录(1)

23、调用调用AddNewAddNew方法增加一条空记录方法增加一条空记录(2) 给新记录各字段赋值给新记录各字段赋值(可以通过绑定控件直可以通过绑定控件直接输入,或使用程序代码给字段赋值,格式为:接输入,或使用程序代码给字段赋值,格式为:Recordset.FieldsRecordset.Fields(字段名字段名) = 值值(3) 调用调用UpdateUpdate方法,确定所做的添加,将方法,确定所做的添加,将缓冲区内的数据写入数据库缓冲区内的数据写入数据库 本章目录本章目录31删除记录删除记录 3. 删除记录删除记录(1) 定位被删除的记录使之成为当前记录定位被删除的记录使之成为当前记录(2)

24、 调用调用DeleteDelete方法方法(3) 移动记录指针移动记录指针注意:使用注意:使用DeleteDelete方法当前记录立即删除,不方法当前记录立即删除,不加任何的警告或者提示。删除一条记录后,绑加任何的警告或者提示。删除一条记录后,绑定控件仍旧显示该记录的内容。因此,必须移定控件仍旧显示该记录的内容。因此,必须移动记录指针刷新绑定控件。动记录指针刷新绑定控件。本章目录本章目录32修改修改记录记录 4.修改记录修改记录当改变数据项的的内容时,当改变数据项的的内容时,ADO自动进入编自动进入编辑状态,在对数据编辑后,只要改变记录集的辑状态,在对数据编辑后,只要改变记录集的指针或调用指针

25、或调用UpdateUpdate方法,即可确定所做的修方法,即可确定所做的修改。改。例例11.6在例在例10.5的基础上加入的基础上加入“新增新增”、“删删除除”、“更新更新”、“放弃放弃”和和“结束结束”5个按个按钮,通过对按钮的编程建立增、删、改功能钮,通过对按钮的编程建立增、删、改功能 本章目录本章目录33查找 Find方法方法n在在Recordset对象中查找与指定条件相符的一条记录,对象中查找与指定条件相符的一条记录,并使之成为当前记录。如果找不到,则记录指针指在并使之成为当前记录。如果找不到,则记录指针指在记录集末尾。记录集末尾。nRecordset.Find 搜索条件搜索条件 ,位

26、移位移 , 搜索方向搜索方向, 开开始位置始位置n例:10.6mno = InputBox(请输入学号请输入学号, 查找窗查找窗)Adodc1.Recordset.find 学号学号= & mno & , , , 1 5. Move方法组方法组 Move方法可代替对数据控件对象的方法可代替对数据控件对象的4个箭个箭头按钮的操作遍历整个记录集。头按钮的操作遍历整个记录集。 (1) MoveFirst方法移至第方法移至第1条记录。条记录。 (2) MoveLast方法移至最后一条记录。方法移至最后一条记录。 (3) MoveNext方法移至下一条记录。方法移至下一条记录。 (4)

27、MovePrevious方法移至上一条记录。方法移至上一条记录。 (5) Move n 方法向前或向后移方法向前或向后移n条记录。条记录。 例例10.6用命令按钮代替数据控件对象的用命令按钮代替数据控件对象的4个个箭头按钮的功能箭头按钮的功能,使用使用Find方法查找记录方法查找记录35ADO控件的事件:控件的事件:nWILLMove和和MoveComplete事件:事件:n当某种方法改变记录集的指针使其移动当某种方法改变记录集的指针使其移动时,产生时,产生WillMove事件。事件。n一条记录成为当前记录后,产生一条记录成为当前记录后,产生MoveComplete事件事件36nWILLCha

28、ngeField和和FieldChangeComplete事件:事件:nWILLChangeField当前记录集中的当前记当前记录集中的当前记录的一个或多个字段发生变化时触发。录的一个或多个字段发生变化时触发。nFieldChangeComplete 当前字段发生变当前字段发生变化后触发。化后触发。37nWILLChangeRecord和和RecordChangeComplete事件:事件:nWILLChangeRecord当前记录集中的当前记录集中的当前记录的一个或多个记录发生变化时当前记录的一个或多个记录发生变化时触发。触发。nRecordChangeComplete 当前记录完当前记录完

29、成后时触发。成后时触发。38计算机计算机丁保华丁保华500011物理李明 500201数学庄前500102专业姓名学号Adodc1.Recordset. AddNew 增加记录增加记录数据库UpData填入新数据填入新数据 编辑记录编辑记录删除记录删除记录 给各字段赋值给各字段赋值 调用调用Delete方法方法 调用调用Update方法方法 移动记录指针移动记录指针 计算机计算机丁保华丁保华500011物理李明500201数学庄前500102专业姓名学号数据修改小结数据修改小结本章目录本章目录39n返回唯一标识 Recordset 对象中当前记录的书签,或者将 Recordset 对象的当前记

30、录设置为由有效书签所标识的记录。n设置和返回值设置和返回值n设置或返回计算有效书签的变体型变体型表达式。n说明说明n使用 Bookmark 属性可保存当前记录的位置并随时返回到该记录。书签只能在支持书签功能的 Recordset 对象中使用。n打开 Recordset 对象时,其每个记录都有唯一的书签。要保存当前记录的书签,请将 Bookmark 属性的值赋给一个变量。移动到其他记录后要快速返回到该记录,请将该 Recordset 对象的 Bookmark 属性设置为该变量的值。n用户可能无法查看书签的值,也同样无法对书签直接进行比较(指向同一记录的两个书签的值可能不同)。40查询与统计查询与

31、统计 通过通过SQL语句从数据源中获取信息,查询条件语句从数据源中获取信息,查询条件由由SelectSelect语句的语句的WhereWhere短语构成,使用短语构成,使用And与与Or运算符组合出复杂的查询条件运算符组合出复杂的查询条件。模糊查询使。模糊查询使用运算符用运算符LikeLike,百分号,百分号%代替任意个不确定的代替任意个不确定的内容,用下划线内容,用下划线_ _代替一个不确定的内容。代替一个不确定的内容。例如,例如,姓名姓名 Like Like 张张% % 将查询所有张姓的人员将查询所有张姓的人员例例10.7 根据输入的专业名称,在网格内显示根据输入的专业名称,在网格内显示S

32、tudent.mdb数据库中该专业所有学生信息数据库中该专业所有学生信息 本章目录本章目录41查询与统计查询与统计 例例10.8使用数据列表框或数据组合框提供专业名使用数据列表框或数据组合框提供专业名称,实现查询称,实现查询“Select * From 基本情况表基本情况表 Where 专业专业 = & DataList1.BoundText & 本章目录本章目录42n例例10.9使用使用SQL的函数和分组功能,统计各专业的函数和分组功能,统计各专业的人数、年龄分布。的人数、年龄分布。n Adodc1.RecordSource = select 专业专业,count (*) a

33、s 人数人数 from 基本情况表基本情况表 group by 专业专业 Adodc1.RefreshnAdodc1.RecordSource = select year(出生年出生年月月) as 出生年份出生年份,count (*) as 人数人数 from 基本情基本情况表况表 group by year(出生年月出生年月) Adodc1.Refresh43DBGrid和DataGrid nData Bound Grid Control输出记录输出记录 该控该控件是输出数据库记录最有用也是最多的控件。件是输出数据库记录最有用也是最多的控件。但该控件在一些电脑上可能用不到但该控件在一些电脑上

34、可能用不到. DataGrid 控件是一种类似于电子数据表的控件是一种类似于电子数据表的绑定控件,它是所有数据库感知控件中最有用绑定控件,它是所有数据库感知控件中最有用也是用得最多的控件。它可以用来显示整个数也是用得最多的控件。它可以用来显示整个数据表或表的部分内容或者几个表的混合内据表或表的部分内容或者几个表的混合内容。容。 nDBGRID,用在用在DAO下下nDataGrid 控件是一种类似于电子数据表的绑控件是一种类似于电子数据表的绑定控件定控件,用在用在ADO下下. 444546nCommandType属性:指定获得记录源的命令类属性:指定获得记录源的命令类型。型。nrecordSou

35、rce:确定具体可以访问的数据来源。:确定具体可以访问的数据来源。属性值可以是数据库中的单个表名,也可以是属性值可以是数据库中的单个表名,也可以是SQL语句。语句。nADO控件的其它属性、事件和方法:控件的其它属性、事件和方法:nRecordset属性:产生属性:产生ADO控件实际可以操作的记控件实际可以操作的记录集对象。录集对象。nEOFAction和和BOFAction属性:属性:n当记录指针指向记录集的开始或结束时,以上属性当记录指针指向记录集的开始或结束时,以上属性决定数据控件要采取决定数据控件要采取 的操作,当的操作,当EOFAction为为2时,时,记录指针到达记录集的结尾处,在尾

36、部自动加入一记录指针到达记录集的结尾处,在尾部自动加入一条空记录。条空记录。47nRefresh方法:刷新方法:刷新ADO数据控件的连接属性。数据控件的连接属性。4810.2.2 数据绑定数据绑定 什么是数据绑定?什么是数据绑定?数据绑定是一个过程,即在运行时自动为与记录数据绑定是一个过程,即在运行时自动为与记录集中的元素关联的控件设置属性。以便通过控件集中的元素关联的控件设置属性。以便通过控件显示数据集中的数据。显示数据集中的数据。本章目录本章目录49数据绑定数据绑定 Windows 窗体有简单数据绑定和复杂数据绑定窗体有简单数据绑定和复杂数据绑定简单数据绑定简单数据绑定简单数据绑定就是将控

37、件绑定到单个数据字段。简单数据绑定就是将控件绑定到单个数据字段。每个控件仅显示数据集中的一个字段值。最常用每个控件仅显示数据集中的一个字段值。最常用的简单数据绑定是将数据绑定到文本框和标签。的简单数据绑定是将数据绑定到文本框和标签。在设计或运行时设置控件属性建立绑定在设计或运行时设置控件属性建立绑定: :DataSourceDataSource:指定:指定ADOADO数据控件数据控件DataFieldDataField:设置记录集中有效的字段:设置记录集中有效的字段 本章目录本章目录50简单数据绑定简单数据绑定 例例10.2 数据绑定的操作过程数据绑定的操作过程 界面设计界面设计 建立连接和产

38、生记录集建立连接和产生记录集 设置设置绑定属性绑定属性 本章目录本章目录51复杂数据绑定复杂数据绑定 复杂数据绑定允许将多个数据字段绑定到一个控复杂数据绑定允许将多个数据字段绑定到一个控件,同时显示记录源中的多行或多列。件,同时显示记录源中的多行或多列。支持复杂数据绑定的常用控件:支持复杂数据绑定的常用控件:n DataGrid DataGrid 数据网格数据网格n MSHFlexGrid MSHFlexGrid 数据网格数据网格n DataList DataList 数据列表框数据列表框n DataCombo DataCombo 数据组合框数据组合框本章目录本章目录52复杂数据绑定复杂数据绑

39、定 例例10.3复杂数据绑定的操作过程复杂数据绑定的操作过程 界面设计界面设计 建立连接和产生记录集建立连接和产生记录集 数据绑定数据绑定 本例本例DataGrid控件要绑定不同的表,故需要通过控件要绑定不同的表,故需要通过代码设置控件的代码设置控件的DataSource 属性。属性。 程序代码程序代码 本章目录本章目录53复杂数据绑定复杂数据绑定 例例10.4使用使用SQL语句选择数据表部分数据构成记语句选择数据表部分数据构成记录集。在网格上绑定部分字段,需要对数据网格录集。在网格上绑定部分字段,需要对数据网格布局进行编辑。布局进行编辑。本章目录本章目录54 VB VB数据库访问过程数据库访

40、问过程 本章目录本章目录555610.3 10.3 记录集对象记录集对象10.3.1 浏览记录集浏览记录集1. AbsoloutPostionAbsoloutPostion属性属性返回当前记录指针值,从返回当前记录指针值,从1到到Recordset对象所对象所含记录数。含记录数。2. 本章目录本章目录573. RecordCountRecordCount属性属性对对Recordset对象中的记录计数,该属性为只对象中的记录计数,该属性为只读属性。读属性。4. FindFind方法方法在在Recordset对象中查找与指定条件相符的一对象中查找与指定条件相符的一条记录,并使之成为当前记录。如果找

41、不到,条记录,并使之成为当前记录。如果找不到,则记录指针指在记录集末尾。则记录指针指在记录集末尾。Recordset.Find Recordset.Find 搜索条件搜索条件 ,位移位移 , 搜索搜索方向方向, 开始位置开始位置本章目录本章目录58本章目录本章目录59MoveNext MoveLastMoveFirstMovePreviousAdodc1.Recordset. Find 学号学号= 500011 计算机计算机丁保华丁保华500011物理李明 500201数学庄前500102专业姓名学号EOFBOF记录集属性方法小结记录集属性方法小结本章目录本章目录6010.3.2 10.3.2

42、 记录集的编辑记录集的编辑 本章目录本章目录61增加新记录增加新记录 2增加新记录增加新记录(1) 调用调用AddNewAddNew方法增加一条空记录方法增加一条空记录(2) 给新记录各字段赋值给新记录各字段赋值(可以通过绑定控件直可以通过绑定控件直接输入,或使用程序代码给字段赋值,格式为:接输入,或使用程序代码给字段赋值,格式为:Recordset.FieldsRecordset.Fields(字段名字段名) = 值值(3) 调用调用UpdateUpdate方法,确定所做的添加,将方法,确定所做的添加,将缓冲区内的数据写入数据库缓冲区内的数据写入数据库 本章目录本章目录62删除记录删除记录

43、3. 删除记录删除记录(1) 定位被删除的记录使之成为当前记录定位被删除的记录使之成为当前记录(2) 调用调用DeleteDelete方法方法(3) 移动记录指针移动记录指针注意:使用注意:使用DeleteDelete方法当前记录立即删除,不方法当前记录立即删除,不加任何的警告或者提示。删除一条记录后,绑加任何的警告或者提示。删除一条记录后,绑定控件仍旧显示该记录的内容。因此,必须移定控件仍旧显示该记录的内容。因此,必须移动记录指针刷新绑定控件。动记录指针刷新绑定控件。本章目录本章目录63修改修改记录记录 4.修改记录修改记录当改变数据项的的内容时,当改变数据项的的内容时,ADO自动进入编自动

44、进入编辑状态,在对数据编辑后,只要改变记录集的辑状态,在对数据编辑后,只要改变记录集的指针或调用指针或调用UpdateUpdate方法,即可确定所做的修方法,即可确定所做的修改。改。例例11.6在例在例10.5的基础上加入的基础上加入“新增新增”、“删删除除”、“更新更新”、“放弃放弃”和和“结束结束”5个按个按钮,通过对按钮的编程建立增、删、改功能钮,通过对按钮的编程建立增、删、改功能 本章目录本章目录64计算机计算机丁保华丁保华500011物理李明 500201数学庄前500102专业姓名学号Adodc1.Recordset. AddNew 增加记录增加记录数据库UpData填入新数据填入新数据 编辑记录编辑记录删除记录删除记录 给各字段赋值给各字段赋值 调用调用Delete方法方法 调用调用Update方法方法 移动记录指针移动记录指针 计算机计算机丁保华丁保华500011物理李明500201数学庄前500102专业姓名学号数据修改小结数据修改小结本章目录本章目录6510.3.4 BLOB数据处理数据处理 二进制大型对象二进制大型对象(B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论